diff --git a/net/Makefile b/net/Makefile index 030e053eb1a9..6dd01d26c59b 100644 --- a/net/Makefile +++ b/net/Makefile @@ -1,1729 +1,1730 @@ COMMENT = Networking tools SUBDIR += 3proxy SUBDIR += 44bsd-rdist SUBDIR += 6tunnel SUBDIR += R-cran-pingr SUBDIR += R-cran-twitteR SUBDIR += Sockets SUBDIR += activemq SUBDIR += addrwatch SUBDIR += afpfs-ng SUBDIR += aget SUBDIR += akhq SUBDIR += akonadi-calendar SUBDIR += akonadi-contacts SUBDIR += akonadi-mime SUBDIR += akonadi-search SUBDIR += alligator SUBDIR += aluminum SUBDIR += amnezia-kmod SUBDIR += amnezia-tools SUBDIR += amqpcat SUBDIR += aoe SUBDIR += apache-commons-net SUBDIR += apinger SUBDIR += aprsc SUBDIR += aquantia-atlantic-kmod SUBDIR += arataga SUBDIR += arp-scan SUBDIR += arp-sk SUBDIR += arpdig SUBDIR += arping SUBDIR += arpoison SUBDIR += arprelease SUBDIR += arrowdl SUBDIR += asio SUBDIR += asio130 SUBDIR += asterisk-chan_sccp SUBDIR += asterisk-g72x SUBDIR += asterisk20 SUBDIR += asterisk22 SUBDIR += astron SUBDIR += avahi SUBDIR += avahi-app SUBDIR += avahi-autoipd SUBDIR += avahi-gtk SUBDIR += avahi-gtk3 SUBDIR += avahi-header SUBDIR += avahi-libdns SUBDIR += avahi-qt5 SUBDIR += avahi-sharp SUBDIR += aws-ec2-imdsv2-get SUBDIR += axa SUBDIR += babeld SUBDIR += balance SUBDIR += bctoolbox SUBDIR += beacon SUBDIR += beanstalkd SUBDIR += belle-sip SUBDIR += bindtest SUBDIR += binkd SUBDIR += bird2 SUBDIR += bird3 SUBDIR += bittwist SUBDIR += bmon SUBDIR += boinc-client SUBDIR += boinc_curses SUBDIR += boinctui SUBDIR += bounce SUBDIR += bredbandskollen SUBDIR += brynet SUBDIR += bsdec2-image-upload SUBDIR += bsdrcmds SUBDIR += bwi-firmware-kmod SUBDIR += bwn-firmware-kmod SUBDIR += bwping SUBDIR += c3270 SUBDIR += calendarsupport SUBDIR += ccxstream SUBDIR += charm SUBDIR += chrony SUBDIR += chrony-lite SUBDIR += citrix_ica SUBDIR += cjdns SUBDIR += cloud-init SUBDIR += cloud-init-devel SUBDIR += cloudflared SUBDIR += cloudquery SUBDIR += clusterit SUBDIR += cnd SUBDIR += containernetworking-plugins SUBDIR += corkscrew SUBDIR += corosync2 SUBDIR += corosync3 SUBDIR += courier-authlib-ldap SUBDIR += courier-sox SUBDIR += cppzmq SUBDIR += croc SUBDIR += cryptcat SUBDIR += csync2 SUBDIR += ctrace SUBDIR += cvsup-static SUBDIR += cvsync SUBDIR += czmq SUBDIR += czmq4 SUBDIR += daemonlogger SUBDIR += dante SUBDIR += daq SUBDIR += datapipe SUBDIR += dataplaneapi SUBDIR += dbeacon SUBDIR += delegate SUBDIR += deltachat-rpc-server SUBDIR += devfile SUBDIR += deviceatlas-enterprise-c SUBDIR += dgd SUBDIR += dgd-kernel SUBDIR += dgd-lpmud SUBDIR += dhcp6 SUBDIR += dhcpcd SUBDIR += dhcpcd-ui SUBDIR += dhcpd SUBDIR += dhcpd-pools SUBDIR += dhcpdump SUBDIR += dhcperf SUBDIR += dhcping SUBDIR += dhcprelya SUBDIR += dico SUBDIR += dictd SUBDIR += dpdk SUBDIR += dpdk-20.11 SUBDIR += dpinger SUBDIR += drawterm SUBDIR += dropbox-api-command SUBDIR += dropbox-uploader SUBDIR += dshell SUBDIR += dtcp SUBDIR += dtcpclient SUBDIR += dual-dhclient SUBDIR += dual-dhclient-daemon SUBDIR += dumbpipe SUBDIR += ecal SUBDIR += echoping SUBDIR += empty SUBDIR += endlessh SUBDIR += enet SUBDIR += eternalterminal SUBDIR += eturnal SUBDIR += evans SUBDIR += eventviews SUBDIR += exabgp4 SUBDIR += exoscale-cli SUBDIR += fb303 SUBDIR += fiche SUBDIR += file2pcap SUBDIR += findmtu SUBDIR += findomain SUBDIR += foreman-proxy SUBDIR += fort SUBDIR += fping SUBDIR += freebsd-route6d SUBDIR += freebsd-routed SUBDIR += freebsd-telnetd SUBDIR += freebsd-uucp SUBDIR += freediameter SUBDIR += freeipa-client SUBDIR += freeradius-client SUBDIR += freeradius3 SUBDIR += freerdp SUBDIR += freerdp3 SUBDIR += freeswitch SUBDIR += freevrrpd SUBDIR += frp SUBDIR += frr10 SUBDIR += frr10-pythontools SUBDIR += frr8 SUBDIR += frr8-pythontools SUBDIR += frr9 SUBDIR += frr9-pythontools SUBDIR += fspclient SUBDIR += fspd SUBDIR += fsplib SUBDIR += gamenetworkingsockets SUBDIR += gdrive SUBDIR += gemget SUBDIR += gemserv SUBDIR += geoclue SUBDIR += geocode-glib SUBDIR += geocode-glib2 SUBDIR += geoipupdate SUBDIR += gerbera SUBDIR += gfbgraph SUBDIR += gitlab-agent SUBDIR += gitup SUBDIR += glflow SUBDIR += glib-networking SUBDIR += glusterfs SUBDIR += gmid SUBDIR += gnet2 SUBDIR += gnetcat SUBDIR += gnome-connections SUBDIR += gnome-nettool SUBDIR += gnome-online-accounts SUBDIR += gnu-radius SUBDIR += go-bapu SUBDIR += go-cs SUBDIR += go-pkgsite SUBDIR += go-tcping SUBDIR += gobgp SUBDIR += gofish SUBDIR += google-cloud-sdk SUBDIR += gopher SUBDIR += goreplay SUBDIR += gorss SUBDIR += gotify-cli SUBDIR += gotify-server SUBDIR += gotthard SUBDIR += graphpath SUBDIR += grilo SUBDIR += grilo-plugins SUBDIR += grive2 SUBDIR += grpcox SUBDIR += grpcui SUBDIR += grpcurl SUBDIR += grsync SUBDIR += gscloud SUBDIR += gsk SUBDIR += gsocket SUBDIR += gspoof SUBDIR += gssdp SUBDIR += gssdp14 SUBDIR += gstreamer1-plugins-sctp SUBDIR += gstreamer1-plugins-srtp SUBDIR += gtk-vnc SUBDIR += guacamole-server SUBDIR += gupnp SUBDIR += gupnp-av SUBDIR += gupnp-igd SUBDIR += gupnp-tools SUBDIR += gutenfetch SUBDIR += gwhois SUBDIR += h323plus SUBDIR += hanstunnel SUBDIR += haproxy SUBDIR += haproxy-devel SUBDIR += haproxy24 SUBDIR += haproxy26 SUBDIR += haproxy28 SUBDIR += haproxy30 SUBDIR += hblock SUBDIR += hexinject SUBDIR += hlmaster SUBDIR += honeyd SUBDIR += hostapd SUBDIR += hostapd-devel SUBDIR += hostapd210 SUBDIR += hostapd29 SUBDIR += hping3 SUBDIR += hsflowd SUBDIR += htpdate SUBDIR += http_ping SUBDIR += httping SUBDIR += httpry SUBDIR += icmpinfo SUBDIR += icpld SUBDIR += identme SUBDIR += ifdepd SUBDIR += iffinder SUBDIR += ifstat SUBDIR += ifstated SUBDIR += igmpproxy SUBDIR += iipsrv SUBDIR += ilbc SUBDIR += imapproxy SUBDIR += incidenceeditor SUBDIR += intel-em-kmod SUBDIR += intel-iavf-kmod SUBDIR += intel-ice-kmod SUBDIR += intel-igb-kmod SUBDIR += intel-irdma-kmod SUBDIR += intel-ix-kmod SUBDIR += intel-ixl-kmod SUBDIR += intel-ixv-kmod SUBDIR += iodine SUBDIR += ip2location SUBDIR += ip2proxy SUBDIR += ip6_int SUBDIR += ipdecap SUBDIR += ipgrab SUBDIR += ipinfo-cli SUBDIR += ipsumdump SUBDIR += ipxe SUBDIR += irrd SUBDIR += isboot-kmod SUBDIR += isboot-kmod-devel SUBDIR += isc-dhcp44-client SUBDIR += isc-dhcp44-relay SUBDIR += isc-dhcp44-server SUBDIR += istgt SUBDIR += iwnet SUBDIR += java-beepcore SUBDIR += jcifs SUBDIR += jgroups SUBDIR += jicmp SUBDIR += jicmp6 SUBDIR += jose SUBDIR += jotta-cli SUBDIR += jrdesktop SUBDIR += jsch SUBDIR += jumpgate SUBDIR += jwhois SUBDIR += k6 SUBDIR += kafka SUBDIR += kamailio SUBDIR += kcalutils SUBDIR += kcat SUBDIR += kdenetwork SUBDIR += kdenetwork-filesharing SUBDIR += kea SUBDIR += kea-devel SUBDIR += keama SUBDIR += keycloak SUBDIR += kf5-kcalendarcore SUBDIR += kf5-kcontacts SUBDIR += kf5-kdav SUBDIR += kf5-kholidays SUBDIR += kf5-kxmlrpcclient SUBDIR += kf5-syndication SUBDIR += kf6-kcalendarcore SUBDIR += kf6-kcontacts SUBDIR += kf6-kdav SUBDIR += kf6-kholidays SUBDIR += kf6-syndication SUBDIR += kget SUBDIR += kidentitymanagement SUBDIR += kimap SUBDIR += kio-gdrive SUBDIR += kio-zeroconf SUBDIR += kippo SUBDIR += kitinerary SUBDIR += kldap SUBDIR += kmailtransport SUBDIR += kmbox SUBDIR += kmime SUBDIR += knc SUBDIR += knxd SUBDIR += kontactinterface SUBDIR += kpeoplevcard SUBDIR += kpimtextedit SUBDIR += krakend-ce SUBDIR += krdc SUBDIR += krfb SUBDIR += krill SUBDIR += ksmtp SUBDIR += ktcplist SUBDIR += ktnef SUBDIR += kube-apiserver SUBDIR += kube-controller-manager SUBDIR += kube-scheduler SUBDIR += l2tpd SUBDIR += ladvd SUBDIR += lambdamoo SUBDIR += latd SUBDIR += lavinmq SUBDIR += ldap-stats SUBDIR += ldapbrowser SUBDIR += ldapdiff SUBDIR += ldapscripts SUBDIR += ldapsdk SUBDIR += ldapsh SUBDIR += leproxy SUBDIR += lft SUBDIR += libarcus SUBDIR += libarms SUBDIR += libbgpdump SUBDIR += libcapn SUBDIR += libcharon SUBDIR += libcloudproviders SUBDIR += libcmis SUBDIR += libcoap SUBDIR += libdaq SUBDIR += libdmapsharing SUBDIR += libdnet SUBDIR += libexosip2 SUBDIR += libfabric SUBDIR += libfb SUBDIR += libfixbuf SUBDIR += libgravatar SUBDIR += libgrss SUBDIR += libgweather SUBDIR += libgweather4 SUBDIR += libifconfig SUBDIR += libilbc SUBDIR += libiscsi SUBDIR += libkgapi SUBDIR += libksieve SUBDIR += liblinphone SUBDIR += libmaia SUBDIR += libmateweather SUBDIR += libmaxminddb SUBDIR += libmdf SUBDIR += libnatpmp SUBDIR += libndp SUBDIR += libnet SUBDIR += libnfs SUBDIR += libngtcp2 SUBDIR += libngtcp2-gnutls SUBDIR += libngtcp2-wolfssl SUBDIR += libnids SUBDIR += libnpupnp SUBDIR += libnss-cache SUBDIR += libnss-mysql SUBDIR += libnss-pgsql SUBDIR += liboauth SUBDIR += libopennet SUBDIR += liboping SUBDIR += libosip2 SUBDIR += libpaho-mqtt3 SUBDIR += libpcap SUBDIR += libpcapnav SUBDIR += libpfctl SUBDIR += libproxy SUBDIR += librdkafka SUBDIR += librespeed-cli SUBDIR += librespeed-go SUBDIR += librest1 SUBDIR += librsync SUBDIR += libsignal-protocol-c SUBDIR += libslirp SUBDIR += libsockpp SUBDIR += libsrtp2 SUBDIR += libtrace SUBDIR += libunp SUBDIR += libusipp SUBDIR += libusrsctp SUBDIR += libvncserver SUBDIR += libwebsockets SUBDIR += libyang SUBDIR += libyang2 SUBDIR += libzapojit SUBDIR += libzmq3 SUBDIR += libzmq4 SUBDIR += liferea SUBDIR += linphone SUBDIR += linux-c7-avahi-libs SUBDIR += linux-c7-openldap SUBDIR += linux-c7-tcp_wrappers-libs SUBDIR += linux-rl9-avahi-libs SUBDIR += linux-rl9-openldap SUBDIR += linux-rl9-sdl_net SUBDIR += linux-rl9-tcp_wrappers-libs SUBDIR += liveMedia SUBDIR += lla SUBDIR += lldap SUBDIR += lua-luasocket SUBDIR += lualdap SUBDIR += mDNSResponder SUBDIR += macchanger SUBDIR += mad_fcl SUBDIR += madonctl SUBDIR += mailcommon SUBDIR += mailimporter SUBDIR += malo-firmware-kmod SUBDIR += mcjoin SUBDIR += mdns-bridge SUBDIR += mdns-repeater SUBDIR += measurement-kit SUBDIR += mediastreamer SUBDIR += megacmd SUBDIR += megatools SUBDIR += mercury SUBDIR += messagelib SUBDIR += mgen SUBDIR += micro_inetd SUBDIR += micro_proxy SUBDIR += microsocks SUBDIR += mihomo SUBDIR += mimetreeparser SUBDIR += minidlna SUBDIR += minissdpd SUBDIR += miniupnpc SUBDIR += miniupnpd SUBDIR += miredo SUBDIR += miruo SUBDIR += mlvpn SUBDIR += mobile-broadband-provider-info SUBDIR += mod_amd SUBDIR += mopd SUBDIR += mosh SUBDIR += mosquitto SUBDIR += motsognir SUBDIR += mpd-l2tp-ipv6pd-client SUBDIR += mpd5 SUBDIR += mpich SUBDIR += mpifx SUBDIR += mping SUBDIR += mptsd SUBDIR += mrouted SUBDIR += mrtparse SUBDIR += msend SUBDIR += msgraph SUBDIR += msoak SUBDIR += mtr SUBDIR += multicat SUBDIR += mvfst SUBDIR += nanomsg SUBDIR += narrowlink SUBDIR += nast SUBDIR += nats-nkeys SUBDIR += nats-nsc SUBDIR += nats-server SUBDIR += nats-streaming-server SUBDIR += nats-surveyor SUBDIR += nats-top SUBDIR += natscli SUBDIR += nbd-server SUBDIR += nbdkit SUBDIR += nc SUBDIR += ncp SUBDIR += ndisc6 SUBDIR += ndpi SUBDIR += ndproxy SUBDIR += neatvnc SUBDIR += nemesis SUBDIR += netatalk4 SUBDIR += netcat SUBDIR += netdiscover SUBDIR += netembryo SUBDIR += nethogs SUBDIR += netmap SUBDIR += netpeek SUBDIR += netpipes SUBDIR += netscript SUBDIR += netsed SUBDIR += netselect SUBDIR += netstrain SUBDIR += netwib SUBDIR += nfsshell SUBDIR += nfstrace SUBDIR += ng_mikrotik_eoip SUBDIR += ngrep SUBDIR += nifmon SUBDIR += nitroshare SUBDIR += nload SUBDIR += nmsg SUBDIR += nncp SUBDIR += nng SUBDIR += norm SUBDIR += nqptp SUBDIR += nsq SUBDIR += nss-pam-ldapd SUBDIR += nss-pam-ldapd-sasl SUBDIR += nss_ldap SUBDIR += ntimed SUBDIR += ntopng SUBDIR += ntp SUBDIR += ntpa SUBDIR += ntpd-rs SUBDIR += ntpsec SUBDIR += ntraceroute SUBDIR += nusoap SUBDIR += nxproxy SUBDIR += nyancat SUBDIR += nylon SUBDIR += ocserv SUBDIR += oha SUBDIR += olsrd SUBDIR += omnitty SUBDIR += onedrive SUBDIR += onedrivegui SUBDIR += onenetd SUBDIR += onioncat SUBDIR += onionprobe SUBDIR += ooni-mini SUBDIR += ooni-probe-cli SUBDIR += open-isns SUBDIR += openbgpd7 SUBDIR += openbgpd8 SUBDIR += openldap25-client SUBDIR += openldap25-server SUBDIR += openldap26-client SUBDIR += openldap26-server SUBDIR += openmdns SUBDIR += openmpi SUBDIR += openmpi4 SUBDIR += openntpd SUBDIR += openpgm SUBDIR += openradius SUBDIR += openrsync SUBDIR += openslp SUBDIR += openvswitch SUBDIR += ortp SUBDIR += osrtspproxy SUBDIR += ovhcloud-cli SUBDIR += owamp SUBDIR += p5-Acme-HTTP SUBDIR += p5-AddressBook SUBDIR += p5-Amazon-SQS-Simple SUBDIR += p5-AnyEvent-MPRPC SUBDIR += p5-AnyEvent-MQTT SUBDIR += p5-AnyEvent-RabbitMQ SUBDIR += p5-AnyEvent-Twitter SUBDIR += p5-AnyEvent-Twitter-Stream SUBDIR += p5-AnyMQ-AMQP SUBDIR += p5-Apache2-SOAP SUBDIR += p5-BBS-Client SUBDIR += p5-BBS-UserInfo SUBDIR += p5-BBS-UserInfo-Maple3 SUBDIR += p5-BBS-UserInfo-Maple3itoc SUBDIR += p5-BBS-UserInfo-Ptt SUBDIR += p5-BBS-UserInfo-SOB SUBDIR += p5-BBS-UserInfo-Wretch SUBDIR += p5-Beanstalk-Client SUBDIR += p5-Cisco-IPPhone SUBDIR += p5-Crypt-DH-GMP SUBDIR += p5-Daemon-Generic SUBDIR += p5-Data-IPV4-Range-Parse SUBDIR += p5-EasyTCP SUBDIR += p5-Event-tcp SUBDIR += p5-File-Rsync SUBDIR += p5-File-RsyncP SUBDIR += p5-Frontier-RPC SUBDIR += p5-Geo-IP-PurePerl SUBDIR += p5-Geo-IPfree SUBDIR += p5-GeoIP2 SUBDIR += p5-Google-SAML-Request SUBDIR += p5-Google-SAML-Response SUBDIR += p5-Growl-GNTP SUBDIR += p5-IO-Interface SUBDIR += p5-IO-Socket-INET6 SUBDIR += p5-IO-Socket-IP SUBDIR += p5-IO-Socket-Multicast SUBDIR += p5-IO-Socket-Multicast6 SUBDIR += p5-IO-Socket-Socks SUBDIR += p5-IO-Socket-Socks-Wrapper SUBDIR += p5-IO-Socket-Timeout SUBDIR += p5-IO-Socket-UNIX-Util SUBDIR += p5-IP-Anonymous SUBDIR += p5-IP-Country SUBDIR += p5-IPC-Session SUBDIR += p5-IPv6-Address SUBDIR += p5-JavaScript-RPC SUBDIR += p5-Kafka SUBDIR += p5-MaxMind-DB-Common SUBDIR += p5-MaxMind-DB-Reader SUBDIR += p5-MaxMind-DB-Reader-XS SUBDIR += p5-Mojo-RabbitMQ-Client SUBDIR += p5-Net SUBDIR += p5-Net-ACME2 SUBDIR += p5-Net-AMQP SUBDIR += p5-Net-AMQP-RabbitMQ SUBDIR += p5-Net-APNS SUBDIR += p5-Net-APNs-Extended SUBDIR += p5-Net-ARP SUBDIR += p5-Net-Address-Ethernet SUBDIR += p5-Net-Address-IPv4-Local SUBDIR += p5-Net-Amazon SUBDIR += p5-Net-Amazon-AWSSign SUBDIR += p5-Net-Amazon-EC2 SUBDIR += p5-Net-Amazon-MechanicalTurk SUBDIR += p5-Net-Amazon-S3 SUBDIR += p5-Net-Amazon-Signature SUBDIR += p5-Net-Amazon-Signature-V3 SUBDIR += p5-Net-Amazon-Signature-V4 SUBDIR += p5-Net-Amazon-Thumbnail SUBDIR += p5-Net-Analysis SUBDIR += p5-Net-Appliance-Phrasebook SUBDIR += p5-Net-Appliance-Session SUBDIR += p5-Net-BGP SUBDIR += p5-Net-Blogger SUBDIR += p5-Net-CIDR-Lite SUBDIR += p5-Net-CIDR-MobileJP SUBDIR += p5-Net-CIDR-Set SUBDIR += p5-Net-CLI-Interact SUBDIR += p5-Net-CSTA SUBDIR += p5-Net-CascadeCopy SUBDIR += p5-Net-Cassandra SUBDIR += p5-Net-Cassandra-Easy SUBDIR += p5-Net-Connection SUBDIR += p5-Net-Connection-Match SUBDIR += p5-Net-Connection-Sort SUBDIR += p5-Net-Connection-lsof SUBDIR += p5-Net-Connection-ncnetstat SUBDIR += p5-Net-DAV-Server SUBDIR += p5-Net-DHCP SUBDIR += p5-Net-DHCP-Watch SUBDIR += p5-Net-DHCPClient SUBDIR += p5-Net-DLookup SUBDIR += p5-Net-Daemon SUBDIR += p5-Net-Delicious SUBDIR += p5-Net-Dict SUBDIR += p5-Net-Divert SUBDIR += p5-Net-Dropbox-API SUBDIR += p5-Net-EPP SUBDIR += p5-Net-EPP-Proxy SUBDIR += p5-Net-FS-Flickr SUBDIR += p5-Net-FS-Gmail SUBDIR += p5-Net-FTP-AutoReconnect SUBDIR += p5-Net-FTP-File SUBDIR += p5-Net-Finger SUBDIR += p5-Net-Flow SUBDIR += p5-Net-Frame SUBDIR += p5-Net-Frame-Device SUBDIR += p5-Net-Frame-Dump SUBDIR += p5-Net-Frame-Layer-ICMPv6 SUBDIR += p5-Net-Frame-Layer-IPv6 SUBDIR += p5-Net-Frame-Simple SUBDIR += p5-Net-GitHub SUBDIR += p5-Net-Gnats SUBDIR += p5-Net-Google SUBDIR += p5-Net-Google-Analytics SUBDIR += p5-Net-Google-AuthSub SUBDIR += p5-Net-Google-Calendar SUBDIR += p5-Net-Google-Code SUBDIR += p5-Net-Google-DataAPI SUBDIR += p5-Net-Google-PicasaWeb SUBDIR += p5-Net-Google-SafeBrowsing2 SUBDIR += p5-Net-Google-Spreadsheets SUBDIR += p5-Net-Growl SUBDIR += p5-Net-GrowlClient SUBDIR += p5-Net-HL7 SUBDIR += p5-Net-HTTP SUBDIR += p5-Net-HTTP-Spore SUBDIR += p5-Net-HTTP-Spore-Middleware-Header SUBDIR += p5-Net-HTTPS-Any SUBDIR += p5-Net-HTTPS-NB SUBDIR += p5-Net-Hiveminder SUBDIR += p5-Net-INET6Glue SUBDIR += p5-Net-IP-Minimal SUBDIR += p5-Net-IP-RangeCompare SUBDIR += p5-Net-IPTrie SUBDIR += p5-Net-IRR SUBDIR += p5-Net-Ident SUBDIR += p5-Net-Ifconfig-Wrapper SUBDIR += p5-Net-Interface SUBDIR += p5-Net-Jifty SUBDIR += p5-Net-LDAP-AutoDNs SUBDIR += p5-Net-LDAP-AutoServer SUBDIR += p5-Net-LDAP-Express SUBDIR += p5-Net-LDAP-FilterBuilder SUBDIR += p5-Net-LDAP-LDAPhash SUBDIR += p5-Net-LDAP-Makepath SUBDIR += p5-Net-LDAP-Server SUBDIR += p5-Net-LDAP-Server-Test SUBDIR += p5-Net-LDAP-posixAccount SUBDIR += p5-Net-LDAP-posixGroup SUBDIR += p5-Net-Libdnet SUBDIR += p5-Net-Libdnet6 SUBDIR += p5-Net-LimeLight-Purge SUBDIR += p5-Net-MAC SUBDIR += p5-Net-MAC-Vendor SUBDIR += p5-Net-MQTT SUBDIR += p5-Net-Mosso-CloudFiles SUBDIR += p5-Net-MovableType SUBDIR += p5-Net-NBName SUBDIR += p5-Net-NBsocket SUBDIR += p5-Net-NIS SUBDIR += p5-Net-NIS-Listgroup SUBDIR += p5-Net-NTP SUBDIR += p5-Net-Nessus-XMLRPC SUBDIR += p5-Net-Netcat SUBDIR += p5-Net-Nmsg SUBDIR += p5-Net-OAuth SUBDIR += p5-Net-OAuth-Simple SUBDIR += p5-Net-OAuth2 SUBDIR += p5-Net-OpenID-Consumer SUBDIR += p5-Net-OpenSSH SUBDIR += p5-Net-OpenSSH-Parallel SUBDIR += p5-Net-OpenStack-Attack SUBDIR += p5-Net-Packet SUBDIR += p5-Net-Packet-Target SUBDIR += p5-Net-ParseWhois SUBDIR += p5-Net-Patricia SUBDIR += p5-Net-Pcap SUBDIR += p5-Net-PcapUtils SUBDIR += p5-Net-Ping SUBDIR += p5-Net-Ping-External SUBDIR += p5-Net-Proxy SUBDIR += p5-Net-PubSubHubbub-Publisher SUBDIR += p5-Net-RTP SUBDIR += p5-Net-RabbitFoot SUBDIR += p5-Net-RabbitMQ SUBDIR += p5-Net-Radius SUBDIR += p5-Net-Random SUBDIR += p5-Net-RawIP SUBDIR += p5-Net-Rendezvous-Publish SUBDIR += p5-Net-Riak SUBDIR += p5-Net-Rsh SUBDIR += p5-Net-SAP SUBDIR += p5-Net-SCP SUBDIR += p5-Net-SCP-Expect SUBDIR += p5-Net-SDP SUBDIR += p5-Net-SFTP SUBDIR += p5-Net-SFTP-Foreign SUBDIR += p5-Net-SIP SUBDIR += p5-Net-SMPP SUBDIR += p5-Net-SMS-Clickatell SUBDIR += p5-Net-SMS-Mollie SUBDIR += p5-Net-SMS-PChome SUBDIR += p5-Net-SNPP SUBDIR += p5-Net-SSH SUBDIR += p5-Net-SSH-Expect SUBDIR += p5-Net-SSH-Mechanize SUBDIR += p5-Net-SSH-Perl SUBDIR += p5-Net-SSH2 SUBDIR += p5-Net-STOMP-Client SUBDIR += p5-Net-Server SUBDIR += p5-Net-Server-Coro SUBDIR += p5-Net-Server-SS-PreFork SUBDIR += p5-Net-Subnet SUBDIR += p5-Net-Syslog SUBDIR += p5-Net-TCLink SUBDIR += p5-Net-TacacsPlus SUBDIR += p5-Net-TcpDumpLog SUBDIR += p5-Net-Telnet SUBDIR += p5-Net-Telnet-Netscreen SUBDIR += p5-Net-TiVo SUBDIR += p5-Net-Todoist SUBDIR += p5-Net-Traceroute SUBDIR += p5-Net-Traceroute-PurePerl SUBDIR += p5-Net-Traceroute6 SUBDIR += p5-Net-Trackback SUBDIR += p5-Net-Twitter SUBDIR += p5-Net-Twitter-Lite SUBDIR += p5-Net-VNC SUBDIR += p5-Net-Wake SUBDIR += p5-Net-WhitePages SUBDIR += p5-Net-Whois SUBDIR += p5-Net-Whois-ARIN SUBDIR += p5-Net-Whois-IP SUBDIR += p5-Net-Whois-RIPE SUBDIR += p5-Net-Whois-Raw SUBDIR += p5-Net-Works SUBDIR += p5-Net-Write SUBDIR += p5-Net-XWhois SUBDIR += p5-Net-Yadis SUBDIR += p5-Net-Z3950-SimpleServer SUBDIR += p5-Net-Z3950-ZOOM SUBDIR += p5-Net-ext SUBDIR += p5-Net-sFlow SUBDIR += p5-Net-uFTP SUBDIR += p5-NetAddr-IP-Count SUBDIR += p5-NetAddr-MAC SUBDIR += p5-NetPacket SUBDIR += p5-OAI-Harvester SUBDIR += p5-OurNet-BBS SUBDIR += p5-OurNet-BBSAgent SUBDIR += p5-POE-Component-Client-Ident SUBDIR += p5-POE-Component-Client-Keepalive SUBDIR += p5-POE-Component-Client-Ping SUBDIR += p5-POE-Component-Client-Telnet SUBDIR += p5-POE-Component-Client-Traceroute SUBDIR += p5-POE-Component-Client-Twitter SUBDIR += p5-POE-Component-Client-Whois SUBDIR += p5-POE-Component-ControlPort SUBDIR += p5-POE-Component-Generic SUBDIR += p5-POE-Component-Jabber SUBDIR += p5-POE-Component-Pcap SUBDIR += p5-POE-Component-PubSub SUBDIR += p5-POE-Component-Server-Twirc SUBDIR += p5-POEx-Role-TCPServer SUBDIR += p5-POSIX-Socket SUBDIR += p5-POSIX-getpeername SUBDIR += p5-Parallel-Pvm SUBDIR += p5-Parse-Netstat SUBDIR += p5-Phone-Info SUBDIR += p5-PlRPC SUBDIR += p5-Queue-Beanstalk SUBDIR += p5-REST-Application SUBDIR += p5-REST-Google SUBDIR += p5-RPC-EPC-Service SUBDIR += p5-RPC-Simple SUBDIR += p5-RPC-XML SUBDIR += p5-ResourcePool-Resource-Net-LDAP SUBDIR += p5-ResourcePool-Resource-SOAP-Lite SUBDIR += p5-Rose-URI SUBDIR += p5-S3 SUBDIR += p5-SOAP SUBDIR += p5-SOAP-Amazon-S3 SUBDIR += p5-SOAP-Data-Builder SUBDIR += p5-SOAP-Lite SUBDIR += p5-SOAP-MySOAP SUBDIR += p5-SOAP-XML-Client SUBDIR += p5-Samba-LDAP SUBDIR += p5-Server-Starter SUBDIR += p5-Socket SUBDIR += p5-Socket-Class SUBDIR += p5-Socket-GetAddrInfo SUBDIR += p5-Socket-Multicast6 SUBDIR += p5-Socket-Netlink SUBDIR += p5-Socket6 SUBDIR += p5-Socks SUBDIR += p5-Sort-Key-IPv4 SUBDIR += p5-TFTP SUBDIR += p5-Test-URI SUBDIR += p5-Text-Authinfo SUBDIR += p5-Twitter-API SUBDIR += p5-URI SUBDIR += p5-URI-Based SUBDIR += p5-URI-Encode-XS SUBDIR += p5-URI-Fast SUBDIR += p5-URI-FromHash SUBDIR += p5-URI-Match SUBDIR += p5-URI-NamespaceMap SUBDIR += p5-URI-Nested SUBDIR += p5-URI-OpenURL SUBDIR += p5-URI-Query SUBDIR += p5-URI-SmartURI SUBDIR += p5-URI-Template SUBDIR += p5-URI-Template-Restrict SUBDIR += p5-URI-cpan SUBDIR += p5-URI-db SUBDIR += p5-VM-EC2 SUBDIR += p5-VM-EC2-Security-CredentialCache SUBDIR += p5-Validate-Net SUBDIR += p5-WebService-Dropbox SUBDIR += p5-WebService-Prowl SUBDIR += p5-What SUBDIR += p5-X500-DN SUBDIR += p5-XML-Compile-SOAP SUBDIR += p5-XML-Compile-SOAP-AnyEvent SUBDIR += p5-XML-Compile-SOAP-Daemon SUBDIR += p5-XML-Compile-SOAP-WSA SUBDIR += p5-XML-Compile-WSDL11 SUBDIR += p5-XML-Fast SUBDIR += p5-XML-RPC SUBDIR += p5-XML-RPC-Fast SUBDIR += p5-XMLRPC-Lite SUBDIR += p5-XPC SUBDIR += p5-ZMQ-FFI SUBDIR += p5-ip2location-perl SUBDIR += p5-ldap2pf SUBDIR += p5-ldap2pw SUBDIR += p5-perl-ldap SUBDIR += p5-srv2pf SUBDIR += pacemaker2 SUBDIR += packetdrill SUBDIR += packter-agent SUBDIR += parpd SUBDIR += pathneck SUBDIR += pbnc SUBDIR += pear-Auth_RADIUS SUBDIR += pear-File_Bittorrent2 SUBDIR += pear-Horde_Kolab_Server SUBDIR += pear-Horde_Kolab_Session SUBDIR += pear-Horde_Ldap SUBDIR += pear-Horde_Rpc SUBDIR += pear-Horde_Scribe SUBDIR += pear-Horde_Socket_Client SUBDIR += pear-Horde_Url SUBDIR += pear-Net_CheckIP SUBDIR += pear-Net_DIME SUBDIR += pear-Net_DNSBL SUBDIR += pear-Net_Dict SUBDIR += pear-Net_Finger SUBDIR += pear-Net_Geo SUBDIR += pear-Net_GeoIP SUBDIR += pear-Net_Growl SUBDIR += pear-Net_IDNA SUBDIR += pear-Net_IPv4 SUBDIR += pear-Net_IPv6 SUBDIR += pear-Net_Ident SUBDIR += pear-Net_LDAP SUBDIR += pear-Net_LDAP2 SUBDIR += pear-Net_MAC SUBDIR += pear-Net_NNTP SUBDIR += pear-Net_Nmap SUBDIR += pear-Net_POP3 SUBDIR += pear-Net_Ping SUBDIR += pear-Net_SMS SUBDIR += pear-Net_SMTP SUBDIR += pear-Net_Server SUBDIR += pear-Net_Sieve SUBDIR += pear-Net_Socket SUBDIR += pear-Net_Traceroute SUBDIR += pear-Net_URL SUBDIR += pear-Net_URL2 SUBDIR += pear-Net_URL_Mapper SUBDIR += pear-Net_UserAgent_Detect SUBDIR += pear-Net_UserAgent_Mobile SUBDIR += pear-Net_Vpopmaild SUBDIR += pear-Net_Whois SUBDIR += pear-SOAP SUBDIR += pear-Services_Pingback SUBDIR += pear-Services_Twitter SUBDIR += pear-URI_Template SUBDIR += pear-XML_RPC SUBDIR += pear-XML_RPC2 SUBDIR += pecl-amqp SUBDIR += pecl-oauth2 SUBDIR += pecl-radius SUBDIR += pecl-rdkafka SUBDIR += pecl-smbclient SUBDIR += pecl-xmlrpc SUBDIR += pen SUBDIR += php81-ldap SUBDIR += php81-soap SUBDIR += php81-sockets SUBDIR += php82-ldap SUBDIR += php82-soap SUBDIR += php82-sockets SUBDIR += php83-ldap SUBDIR += php83-soap SUBDIR += php83-sockets SUBDIR += php84-ldap SUBDIR += php84-soap SUBDIR += php84-sockets SUBDIR += php85-ldap SUBDIR += php85-soap SUBDIR += php85-sockets SUBDIR += phpldapadmin SUBDIR += pimcommon SUBDIR += pimd SUBDIR += pimdd SUBDIR += pjsip SUBDIR += pkt-gen SUBDIR += pktanon SUBDIR += pload SUBDIR += plugdaemon SUBDIR += poptop SUBDIR += portfwd SUBDIR += pptpclient SUBDIR += proby SUBDIR += proftpd-mod_ldap SUBDIR += prosearch SUBDIR += proxy-suite SUBDIR += proxychains SUBDIR += proxychains-ng SUBDIR += prtunnel SUBDIR += ptpd2 SUBDIR += ptunnel SUBDIR += pvm SUBDIR += pwhois SUBDIR += pwnat SUBDIR += pxe SUBDIR += pxe-pdhcp SUBDIR += py-DTLSSocket SUBDIR += py-GeoIP2 SUBDIR += py-aiocoap SUBDIR += py-aiohappyeyeballs SUBDIR += py-aiohttp-socks SUBDIR += py-aiostalk SUBDIR += py-amqp SUBDIR += py-amqplib SUBDIR += py-avahi SUBDIR += py-blobfile SUBDIR += py-bonsai SUBDIR += py-casttube SUBDIR += py-cepa SUBDIR += py-cjdns SUBDIR += py-cloudflare-scrape SUBDIR += py-cloudflare-scrape-js2py SUBDIR += py-cloudscraper SUBDIR += py-confluent-kafka SUBDIR += py-cymruwhois SUBDIR += py-dpkt SUBDIR += py-duet SUBDIR += py-dugong SUBDIR += py-ephemeral-port-reserve SUBDIR += py-err-backend-discord SUBDIR += py-err-backend-mattermost SUBDIR += py-errbot SUBDIR += py-errbot-backend-slackv3 SUBDIR += py-eventlet SUBDIR += py-gdown SUBDIR += py-geopy SUBDIR += py-gntp SUBDIR += py-google-cloud-pubsub SUBDIR += py-greenstalk SUBDIR += py-gspread SUBDIR += py-h11 SUBDIR += py-haproxy-cli SUBDIR += py-haproxy-log-analysis SUBDIR += py-haproxyctl SUBDIR += py-httpstat SUBDIR += py-ifaddr SUBDIR += py-impacket SUBDIR += py-iplib SUBDIR += py-iptools SUBDIR += py-kafka-python SUBDIR += py-kombu SUBDIR += py-ldap0 SUBDIR += py-ldap3 SUBDIR += py-ldapdomaindump SUBDIR += py-ldappool SUBDIR += py-libcloud SUBDIR += py-libdnet SUBDIR += py-magic-wormhole SUBDIR += py-matrix-synapse-ldap3 SUBDIR += py-maxminddb SUBDIR += py-miniupnpc SUBDIR += py-mpi4py SUBDIR += py-mpi4py-mpich SUBDIR += py-msrplib SUBDIR += py-ndg-httpsclient SUBDIR += py-netaddr SUBDIR += py-netif SUBDIR += py-netifaces SUBDIR += py-netifaces-plus SUBDIR += py-netsnmpagent SUBDIR += py-nnpy SUBDIR += py-ntplib SUBDIR += py-oauth SUBDIR += py-oauth2 SUBDIR += py-paho-mqtt SUBDIR += py-pamqp SUBDIR += py-pcapy SUBDIR += py-pcapy-ng SUBDIR += py-pook SUBDIR += py-port-for SUBDIR += py-portend SUBDIR += py-pychromecast SUBDIR += py-pyenet SUBDIR += py-pyfixbuf SUBDIR += py-pygeoip SUBDIR += py-pyicap SUBDIR += py-pynamecheap SUBDIR += py-pynmsg SUBDIR += py-pynsq SUBDIR += py-pypacker SUBDIR += py-pypcap SUBDIR += py-pyprowl SUBDIR += py-pyroute2 SUBDIR += py-pyroute2.minimal SUBDIR += py-pyroute2.protocols SUBDIR += py-pysendfile SUBDIR += py-pyshark SUBDIR += py-pysimplesoap SUBDIR += py-pysmb SUBDIR += py-pysocks SUBDIR += py-pystun SUBDIR += py-python-barbicanclient SUBDIR += py-python-bitcoinrpc SUBDIR += py-python-cinderclient SUBDIR += py-python-designateclient SUBDIR += py-python-glanceclient SUBDIR += py-python-heatclient SUBDIR += py-python-ipware SUBDIR += py-python-keystoneclient SUBDIR += py-python-ldap SUBDIR += py-python-neutronclient SUBDIR += py-python-novaclient SUBDIR += py-python-openstackclient SUBDIR += py-python-socks SUBDIR += py-python-twitter SUBDIR += py-pytradfri SUBDIR += py-pyu2f SUBDIR += py-pyvmomi SUBDIR += py-pyzmq SUBDIR += py-qt5-networkauth SUBDIR += py-qt6-networkauth SUBDIR += py-rabbitpy SUBDIR += py-radix SUBDIR += py-raet SUBDIR += py-ripe.atlas.cousteau SUBDIR += py-ripe.atlas.sagan SUBDIR += py-ripe.atlas.tools SUBDIR += py-s3cmd SUBDIR += py-s3transfer SUBDIR += py-s4cmd SUBDIR += py-saltyrtc.server SUBDIR += py-sbws SUBDIR += py-scamper SUBDIR += py-shodan SUBDIR += py-siosocks SUBDIR += py-smart-open SUBDIR += py-smbpasswd SUBDIR += py-smbprotocol SUBDIR += py-socketio-client SUBDIR += py-socksio SUBDIR += py-softlayer SUBDIR += py-speedometer SUBDIR += py-speedtest-cli SUBDIR += py-sshtunnel SUBDIR += py-sshuttle SUBDIR += py-stomp.py SUBDIR += py-suds SUBDIR += py-terminado SUBDIR += py-tiny-proxy SUBDIR += py-tofu SUBDIR += py-transip SUBDIR += py-trio SUBDIR += py-trio-websocket SUBDIR += py-tweepy SUBDIR += py-twitter-tools SUBDIR += py-txamqp SUBDIR += py-txrestapi SUBDIR += py-uri-template SUBDIR += py-uritemplate SUBDIR += py-uritools SUBDIR += py-url-normalize SUBDIR += py-urlextract SUBDIR += py-urllib3 SUBDIR += py-urllib3-future SUBDIR += py-urllib31 SUBDIR += py-whois SUBDIR += py-wmi-query SUBDIR += py-wsdd SUBDIR += py-wsproto SUBDIR += py-zeep SUBDIR += py-zeroconf SUBDIR += py-zope.proxy SUBDIR += pyrad SUBDIR += qadsl SUBDIR += qoauth-qt5 SUBDIR += qrcp SUBDIR += qt5-network SUBDIR += qt5-networkauth SUBDIR += qt6-coap SUBDIR += qt6-mqtt SUBDIR += qt6-networkauth SUBDIR += quagga SUBDIR += quiche SUBDIR += quoted SUBDIR += rabbitmq SUBDIR += rabbitmq-c SUBDIR += rabbitmqadmin SUBDIR += radcli SUBDIR += raddump SUBDIR += radiator SUBDIR += radiusclient SUBDIR += radreport SUBDIR += radsecproxy SUBDIR += radvd SUBDIR += rathole SUBDIR += rclone SUBDIR += rclone-browser SUBDIR += rdapper SUBDIR += rdesktop SUBDIR += rdist6 SUBDIR += rdist7 SUBDIR += read_bbrlog SUBDIR += realtek-re-kmod SUBDIR += realtek-re-kmod198 SUBDIR += reaver SUBDIR += recvnet SUBDIR += redir SUBDIR += redpanda-connect SUBDIR += relayd SUBDIR += remarkable-devd SUBDIR += remmina SUBDIR += remotebox SUBDIR += remotedesk SUBDIR += repeater SUBDIR += revsocks SUBDIR += rfbproxy SUBDIR += rinetd SUBDIR += ripe-whois SUBDIR += rosenpass SUBDIR += rospo SUBDIR += routinator SUBDIR += rpki-client SUBDIR += rscsi SUBDIR += rsplib SUBDIR += rssguard SUBDIR += rsyn SUBDIR += rsync SUBDIR += rsync-bpc SUBDIR += rtg SUBDIR += rtpproxy SUBDIR += rtptools SUBDIR += rubygem-activestorage-gitlab SUBDIR += rubygem-activestorage52 SUBDIR += rubygem-activestorage60 SUBDIR += rubygem-activestorage61 SUBDIR += rubygem-activestorage70 SUBDIR += rubygem-activestorage71 SUBDIR += rubygem-activestorage72 SUBDIR += rubygem-activestorage80 SUBDIR += rubygem-amazon-ec2 SUBDIR += rubygem-amq-protocol SUBDIR += rubygem-amqp SUBDIR += rubygem-amqp-utils SUBDIR += rubygem-apollo_upload_server SUBDIR += rubygem-app_store_connect SUBDIR += rubygem-asset_sync SUBDIR += rubygem-aws-s3 SUBDIR += rubygem-aws-ses SUBDIR += rubygem-azure SUBDIR += rubygem-azure-core SUBDIR += rubygem-beefcake SUBDIR += rubygem-bunny SUBDIR += rubygem-cloudflare SUBDIR += rubygem-connection_pool SUBDIR += rubygem-devfile SUBDIR += rubygem-docker-api SUBDIR += rubygem-dogapi SUBDIR += rubygem-domain_name SUBDIR += rubygem-dropbox-sdk SUBDIR += rubygem-epp-client-afnic SUBDIR += rubygem-epp-client-base SUBDIR += rubygem-epp-client-rgp SUBDIR += rubygem-epp-client-secdns SUBDIR += rubygem-epp-client-smallregistry SUBDIR += rubygem-fog-aliyun SUBDIR += rubygem-fog-aliyun-gitlab SUBDIR += rubygem-fog-atmos SUBDIR += rubygem-fog-aws SUBDIR += rubygem-fog-aws-gitlab SUBDIR += rubygem-fog-azure SUBDIR += rubygem-fog-brightbox SUBDIR += rubygem-fog-cloudatcost SUBDIR += rubygem-fog-cloudstack SUBDIR += rubygem-fog-digitalocean SUBDIR += rubygem-fog-dnsimple SUBDIR += rubygem-fog-dynect SUBDIR += rubygem-fog-ecloud SUBDIR += rubygem-fog-google SUBDIR += rubygem-fog-google-gitlab SUBDIR += rubygem-fog-gridscale SUBDIR += rubygem-fog-internet-archive SUBDIR += rubygem-fog-joyent SUBDIR += rubygem-fog-local SUBDIR += rubygem-fog-local-gitlab SUBDIR += rubygem-fog-openstack SUBDIR += rubygem-fog-ovirt SUBDIR += rubygem-fog-powerdns SUBDIR += rubygem-fog-profitbricks SUBDIR += rubygem-fog-rackspace SUBDIR += rubygem-fog-radosgw SUBDIR += rubygem-fog-riakcs SUBDIR += rubygem-fog-sakuracloud SUBDIR += rubygem-fog-serverlove SUBDIR += rubygem-fog-softlayer SUBDIR += rubygem-fog-storm_on_demand SUBDIR += rubygem-fog-terremark SUBDIR += rubygem-fog-vmfusion SUBDIR += rubygem-fog-voxel SUBDIR += rubygem-fog-vsphere SUBDIR += rubygem-fog-xenserver SUBDIR += rubygem-gitaly SUBDIR += rubygem-gitaly-proto SUBDIR += rubygem-gitlab-fog-azure-rm SUBDIR += rubygem-gitlab-kas-grpc SUBDIR += rubygem-gitlab_omniauth-ldap SUBDIR += rubygem-gitlab_omniauth-ldap-gitlab SUBDIR += rubygem-google-cloud-bigquery SUBDIR += rubygem-google-cloud-bigtable SUBDIR += rubygem-google-cloud-bigtable-admin-v2 SUBDIR += rubygem-google-cloud-bigtable-v2 SUBDIR += rubygem-google-cloud-compute-v1 SUBDIR += rubygem-google-cloud-core SUBDIR += rubygem-google-cloud-core-gitlab SUBDIR += rubygem-google-cloud-env SUBDIR += rubygem-google-cloud-env-gitlab SUBDIR += rubygem-google-cloud-errors SUBDIR += rubygem-google-cloud-location SUBDIR += rubygem-google-cloud-location-gitlab SUBDIR += rubygem-google-cloud-logging SUBDIR += rubygem-google-cloud-logging-v2 SUBDIR += rubygem-google-cloud-monitoring SUBDIR += rubygem-google-cloud-monitoring-dashboard-v1 SUBDIR += rubygem-google-cloud-monitoring-metrics_scope-v1 SUBDIR += rubygem-google-cloud-monitoring-v3 SUBDIR += rubygem-google-cloud-pubsub SUBDIR += rubygem-google-cloud-pubsub-v1 SUBDIR += rubygem-google-cloud-resource_manager SUBDIR += rubygem-google-cloud-spanner SUBDIR += rubygem-google-cloud-spanner-admin-database-v1 SUBDIR += rubygem-google-cloud-spanner-admin-instance-v1 SUBDIR += rubygem-google-cloud-spanner-v1 SUBDIR += rubygem-google-cloud-storage SUBDIR += rubygem-google-cloud-storage-gitlab SUBDIR += rubygem-google-cloud-storage_transfer SUBDIR += rubygem-google-cloud-storage_transfer-gitlab SUBDIR += rubygem-google-cloud-storage_transfer-v1 SUBDIR += rubygem-google-cloud-storage_transfer-v1-gitlab SUBDIR += rubygem-google-cloud-storage_transfer12 SUBDIR += rubygem-google-cloud-trace SUBDIR += rubygem-google-cloud-trace-v1 SUBDIR += rubygem-google-cloud-trace-v2 SUBDIR += rubygem-grpc SUBDIR += rubygem-grpc-gitlab SUBDIR += rubygem-grpc-tools SUBDIR += rubygem-grpc_reflection SUBDIR += rubygem-hangouts-chat SUBDIR += rubygem-http-parser SUBDIR += rubygem-http_parser.rb SUBDIR += rubygem-httpauth SUBDIR += rubygem-interfacez SUBDIR += rubygem-ipaddr SUBDIR += rubygem-ipaddress SUBDIR += rubygem-iproto SUBDIR += rubygem-lita-gems SUBDIR += rubygem-macaddr SUBDIR += rubygem-maxmind-db SUBDIR += rubygem-mqtt SUBDIR += rubygem-nats-pure SUBDIR += rubygem-net-ldap SUBDIR += rubygem-net-ldap017 SUBDIR += rubygem-net-netrc SUBDIR += rubygem-net-ntp SUBDIR += rubygem-net-ping SUBDIR += rubygem-net-protocol SUBDIR += rubygem-net-protocol01 SUBDIR += rubygem-netrc SUBDIR += rubygem-network_interface SUBDIR += rubygem-nkf SUBDIR += rubygem-no_proxy_fix SUBDIR += rubygem-oauth SUBDIR += rubygem-oauth-tty SUBDIR += rubygem-oauth0 SUBDIR += rubygem-oauth2 SUBDIR += rubygem-oauth2-gitlab SUBDIR += rubygem-oauth21 SUBDIR += rubygem-octokit SUBDIR += rubygem-octokit-gitlab SUBDIR += rubygem-octokit4 SUBDIR += rubygem-octopress-deploy SUBDIR += rubygem-omniauth-auth0 SUBDIR += rubygem-omniauth-auth0-gitlab SUBDIR += rubygem-omniauth-authentiq SUBDIR += rubygem-omniauth-azure-activedirectory-v2 SUBDIR += rubygem-omniauth-azure-oauth2 SUBDIR += rubygem-omniauth-facebook SUBDIR += rubygem-omniauth-github SUBDIR += rubygem-omniauth-github-discourse SUBDIR += rubygem-omniauth-github-gitlab SUBDIR += rubygem-omniauth-google-oauth2 SUBDIR += rubygem-omniauth-google-oauth2-gitlab SUBDIR += rubygem-omniauth-kerberos SUBDIR += rubygem-omniauth-oauth SUBDIR += rubygem-omniauth-oauth2 SUBDIR += rubygem-omniauth-oauth2-gitlab SUBDIR += rubygem-omniauth-openid SUBDIR += rubygem-omniauth-salesforce SUBDIR += rubygem-omniauth-twitter SUBDIR += rubygem-omniauth-ultraauth SUBDIR += rubygem-omniauth_openid_connect SUBDIR += rubygem-open-uri SUBDIR += rubygem-open-uri-cached SUBDIR += rubygem-openid_connect SUBDIR += rubygem-opennebula SUBDIR += rubygem-orchestrator_client SUBDIR += rubygem-ovirt-engine-sdk SUBDIR += rubygem-packetfu SUBDIR += rubygem-packetgen SUBDIR += rubygem-pcaprub SUBDIR += rubygem-private_address_check SUBDIR += rubygem-proxifier SUBDIR += rubygem-proxifier2 SUBDIR += rubygem-qiniu SUBDIR += rubygem-rabbiter SUBDIR += rubygem-rbvmomi SUBDIR += rubygem-rbvmomi2 SUBDIR += rubygem-right_aws SUBDIR += rubygem-right_flexiscale SUBDIR += rubygem-right_gogrid SUBDIR += rubygem-right_http_connection SUBDIR += rubygem-right_slicehost SUBDIR += rubygem-rsync SUBDIR += rubygem-ruby-growl SUBDIR += rubygem-ruby-openid SUBDIR += rubygem-ruby-yadis SUBDIR += rubygem-ruby_smb SUBDIR += rubygem-rubyntlm SUBDIR += rubygem-rubytter SUBDIR += rubygem-rudy SUBDIR += rubygem-rye SUBDIR += rubygem-serverengine SUBDIR += rubygem-simple_oauth SUBDIR += rubygem-spamcheck SUBDIR += rubygem-stackdriver-core SUBDIR += rubygem-stompserver SUBDIR += rubygem-t SUBDIR += rubygem-train SUBDIR += rubygem-train-core SUBDIR += rubygem-train-rest SUBDIR += rubygem-train-winrm SUBDIR += rubygem-tweetstream SUBDIR += rubygem-twitter SUBDIR += rubygem-twitter-stream SUBDIR += rubygem-twitter4r SUBDIR += rubygem-u2f SUBDIR += rubygem-uri SUBDIR += rubygem-uri-gitlab SUBDIR += rubygem-uri-redis SUBDIR += rubygem-uri_template SUBDIR += rubygem-whois SUBDIR += rubygem-x SUBDIR += rubygem-xmlrpc SUBDIR += rude SUBDIR += rustdesk-server SUBDIR += ryu SUBDIR += s3m SUBDIR += s5cmd SUBDIR += sacc SUBDIR += sakisafecli SUBDIR += samba416 SUBDIR += samba419 SUBDIR += samba420 + SUBDIR += samba422 SUBDIR += samplicator SUBDIR += savvycan SUBDIR += sbm SUBDIR += scamper SUBDIR += scapy SUBDIR += scr_ipfm SUBDIR += sctplib SUBDIR += sdl2_net SUBDIR += sdl_net SUBDIR += seaweedfs SUBDIR += seda SUBDIR += self-service-password SUBDIR += sems SUBDIR += sendemail SUBDIR += sendme SUBDIR += sendsms SUBDIR += sendsnpp SUBDIR += serveez SUBDIR += serviio SUBDIR += sflowtool SUBDIR += shadowsocks-rust SUBDIR += shelldap SUBDIR += shmux SUBDIR += sie-nmsg SUBDIR += simpleproxy SUBDIR += sing-box SUBDIR += siproxd SUBDIR += sipsak SUBDIR += sl2tps SUBDIR += slackcat SUBDIR += slurm SUBDIR += smb4k SUBDIR += smbldap-tools SUBDIR += smcroute SUBDIR += smm++ SUBDIR += sngrep SUBDIR += sniffit SUBDIR += sniffnet SUBDIR += sniproxy SUBDIR += sntop SUBDIR += socat SUBDIR += sock SUBDIR += socketapi SUBDIR += socketbind SUBDIR += socketpipe SUBDIR += socketw SUBDIR += sofia-sip SUBDIR += speedtest SUBDIR += speedtest-go SUBDIR += spiritvnc SUBDIR += spoofdpi SUBDIR += spoofer SUBDIR += spread SUBDIR += spread-j SUBDIR += sqtop SUBDIR += srelay SUBDIR += ss5 SUBDIR += sshping SUBDIR += ssldump SUBDIR += sslh SUBDIR += ssspl SUBDIR += stc SUBDIR += stone SUBDIR += storj SUBDIR += stund SUBDIR += subnetcalc SUBDIR += suckblow SUBDIR += sup SUBDIR += svnup SUBDIR += syncthing SUBDIR += syncthing1 SUBDIR += tableutil SUBDIR += tac_plus4 SUBDIR += tacacs SUBDIR += tapidbus SUBDIR += tayga SUBDIR += tclsoap SUBDIR += tcludp SUBDIR += tcpcat SUBDIR += tcpdump SUBDIR += tcpflow SUBDIR += tcpick SUBDIR += tcpillust SUBDIR += tcping SUBDIR += tcpkali SUBDIR += tcplog_dumper SUBDIR += tcpmssd SUBDIR += tcpproxy SUBDIR += tcpreen SUBDIR += tcprtt SUBDIR += tcpsg SUBDIR += tcpshow SUBDIR += tcpslice SUBDIR += tcpsplit SUBDIR += tcpstat SUBDIR += tcptestsuite SUBDIR += tcptrace SUBDIR += tcptraceroute SUBDIR += tcpview SUBDIR += tcpwatch SUBDIR += tcpxd SUBDIR += tcpxtract SUBDIR += td-system-tools SUBDIR += tdetect SUBDIR += teddycloud SUBDIR += termshark SUBDIR += tftpgrab SUBDIR += throttled SUBDIR += tigervnc-server SUBDIR += tigervnc-viewer SUBDIR += tigervnc-viewer-java SUBDIR += tightvnc SUBDIR += timed SUBDIR += tintin++ SUBDIR += tiny-network-utilities SUBDIR += tinyfugue SUBDIR += tinyfugue-devel SUBDIR += tinyldap SUBDIR += tn5250 SUBDIR += toonel SUBDIR += torsocks SUBDIR += toxiproxy-cli SUBDIR += toxiproxy-server SUBDIR += traefik SUBDIR += traff SUBDIR += trafshow SUBDIR += trafshow3 SUBDIR += trantor SUBDIR += trickle SUBDIR += trippy SUBDIR += ts-warp SUBDIR += tsclient SUBDIR += tsctp SUBDIR += tsocks SUBDIR += tunneller SUBDIR += turnserver SUBDIR += u6rd SUBDIR += ucarp SUBDIR += udp-over-tcp SUBDIR += udpbroadcastrelay SUBDIR += udptunnel SUBDIR += udpxy SUBDIR += udt SUBDIR += uget SUBDIR += uhttpmock SUBDIR += uhttpmock0 SUBDIR += ulxmlrpcpp SUBDIR += unfs3 SUBDIR += unison SUBDIR += unison240 SUBDIR += unison248 SUBDIR += unison251 SUBDIR += unix2tcp SUBDIR += urelay SUBDIR += uriparser SUBDIR += urlendec SUBDIR += usbredir SUBDIR += usockets SUBDIR += utftpd SUBDIR += v2ray SUBDIR += vde SUBDIR += vde2 SUBDIR += vether-kmod SUBDIR += viamillipede SUBDIR += vinagre SUBDIR += vino SUBDIR += vmware-vsphere-cli SUBDIR += vncreflector SUBDIR += vnstat SUBDIR += vortex SUBDIR += vpp SUBDIR += wackamole SUBDIR += wakeonlan SUBDIR += wangle SUBDIR += waypipe SUBDIR += wayvnc SUBDIR += webalizer-geodb SUBDIR += wgcf SUBDIR += whois SUBDIR += widentd SUBDIR += wifi-firmware-ath10k-kmod SUBDIR += wifi-firmware-ath11k-kmod SUBDIR += wifi-firmware-ath12k-kmod SUBDIR += wifi-firmware-iwlwifi-kmod SUBDIR += wifi-firmware-kmod SUBDIR += wifi-firmware-mt76-kmod SUBDIR += wifi-firmware-mt7601u-kmod SUBDIR += wifi-firmware-rtw88-kmod SUBDIR += wifi-firmware-rtw89-kmod SUBDIR += wifibox SUBDIR += wifibox-alpine SUBDIR += wifibox-core SUBDIR += wireguard-go SUBDIR += wireguard-tools SUBDIR += wireproxy SUBDIR += wireshark SUBDIR += wlan2eth SUBDIR += wlvncc SUBDIR += wmnd SUBDIR += wmnet SUBDIR += wmnetload SUBDIR += wmping SUBDIR += wmwave SUBDIR += wmwifi SUBDIR += wol SUBDIR += wpa_supplicant_gui SUBDIR += wping SUBDIR += wstunnel SUBDIR += wutil SUBDIR += x11vnc SUBDIR += x2goclient SUBDIR += x2goclient-cli SUBDIR += xapsd SUBDIR += xisp SUBDIR += xmlrpc-c SUBDIR += xmlrpc-epi SUBDIR += xprobe SUBDIR += xrdesktop2 SUBDIR += xrdp SUBDIR += xrdp-devel SUBDIR += yami4 SUBDIR += yaph SUBDIR += yate SUBDIR += yaz SUBDIR += yaz++ SUBDIR += yazproxy SUBDIR += yconalyzer SUBDIR += yggdrasil SUBDIR += yptransitd SUBDIR += zapret SUBDIR += zebra-server SUBDIR += zerotier SUBDIR += zmap SUBDIR += zmate SUBDIR += zsync SUBDIR += zyre .include diff --git a/net/samba422/Makefile b/net/samba422/Makefile index 3696bb72befa..5451fc1ac479 100644 --- a/net/samba422/Makefile +++ b/net/samba422/Makefile @@ -1,677 +1,663 @@ -PORTNAME= ${SAMBA4_BASENAME}420 +PORTNAME= ${SAMBA4_BASENAME}422 PORTVERSION= ${SAMBA4_VERSION} -PORTREVISION= 10 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc DISTNAME= ${SAMBA4_DISTNAME} MAINTAINER= samba@FreeBSD.org COMMENT= Free SMB/CIFS and AD/DC server and client for Unix WWW= https://gitlab.com/samba-freebsd/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING USES= cpe CONFLICTS_INSTALL?= samba4* EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ - ${PATCHDIR}/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch:-p1 \ ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ - ${PATCHDIR}/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch:-p1 \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ - ${PATCHDIR}/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch:-p1 \ - ${PATCHDIR}/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch:-p1 \ - ${PATCHDIR}/0028-Fix-rl_completion_func_t.patch:-p1 \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ - ${PATCHDIR}/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch:-p1 \ - ${PATCHDIR}/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch:-p1 SAMBA4_BASENAME= samba SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 -SAMBA4_VERSION= 4.20.7 +SAMBA4_VERSION= 4.22.3 SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} WRKSRC?= ${WRKDIR}/${DISTNAME} PLIST?= ${PKGDIR}/pkg-plist CPE_VENDOR= samba CPE_PRODUCT= samba # Directories VARDIR= ${DESTDIR}/var SAMBA4_RUNDIR= ${VARDIR}/run/${SAMBA4_PORTNAME} SAMBA4_LOGDIR= ${VARDIR}/log/${SAMBA4_PORTNAME} SAMBA4_LOCKDIR= ${VARDIR}/db/${SAMBA4_PORTNAME} SAMBA4_BINDDNSDIR= ${SAMBA4_LOCKDIR}/bind-dns SAMBA4_PRIVATEDIR= ${SAMBA4_LOCKDIR}/private SAMBA4_PAMDIR= ${PREFIX}/lib SAMBA4_LIBDIR= ${PREFIX}/lib/${SAMBA4_PORTNAME} SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME} SAMBA4_CONFDIR= ${PREFIX}/etc SAMBA4_CONFIG= smb4.conf SAMBA4_MODULES_CLASS= auth bind9 gensec gpext idmap ldb nss_info \ pdb perfcount process_model service vfs CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ --sysconfdir="${SAMBA4_CONFDIR}" \ --includedir="${SAMBA4_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA4_LIBDIR}" \ --with-privatelibdir="${SAMBA4_LIBDIR}/private" \ --with-pammodulesdir="${SAMBA4_PAMDIR}" \ --with-modulesdir="${SAMBA4_MODULEDIR}" \ --with-pkgconfigdir="${PKGCONFIGDIR}" \ --localstatedir="${VARDIR}" \ --with-piddir="${SAMBA4_RUNDIR}" \ --with-sockets-dir="${SAMBA4_RUNDIR}" \ --with-privileged-socket-dir="${SAMBA4_RUNDIR}" \ --with-lockdir="${SAMBA4_LOCKDIR}" \ --with-statedir="${SAMBA4_LOCKDIR}" \ --with-cachedir="${SAMBA4_LOCKDIR}" \ --with-bind-dns-dir=${SAMBA4_BINDDNSDIR} \ --with-privatedir="${SAMBA4_PRIVATEDIR}" \ --with-logfilebase="${SAMBA4_LOGDIR}" # XXX: Flags CONFIGURE_ENV= PTHREAD_LDFLAGS="-lpthread" \ PYTHONHASHSEED=1 MAKE_ENV= PYTHONHASHSEED=1 -USES= bison compiler:c++11-lang iconv localbase:ldflags \ +USES= compiler:c++11-lang iconv localbase:ldflags \ perl5 pkgconfig shebangfix waf gettext-runtime USE_PERL5= build USE_LDCONFIG= ${SAMBA4_LIBDIR} WAF_CMD= buildtools/bin/waf CONFIGURE_LOG= bin/config.log # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,} PLIST_SUB= PKGCONFIGDIR=${PKGCONFIGDIR_REL} SUB_LIST= PKGCONFIGDIR=${PKGCONFIGDIR_REL} ############################################################################## OPTIONS_SUB= yes -OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM GPGME \ - LDAP MANPAGES PROFILE PYTHON3 QUOTAS \ +OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM LDAP GPGME \ + MANPAGES PROFILE PYTHON3 QUOTAS \ SYSLOG UTMP #OPTIONS_DEFINE+= DEVELOPER MEMORY_DEBUG OPTIONS_GROUP= VFS OPTIONS_GROUP_VFS= FRUIT GLUSTERFS OPTIONS_SINGLE= GSSAPI ZEROCONF OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT #GSSAPI_HEIMDAL OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER # Make those default options OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ FRUIT GSSAPI_BUILTIN AVAHI ############################################################################## -ADS_DESC= Active Directory client(implies LDAP) +ADS_DESC= Active Directory client AD_DC_DESC= Active Directory Domain Controller(implies PYTHON3) CLUSTER_DESC= Clustering support DEVELOPER_DESC= With developer framework FAM_DESC= File Alteration Monitor GPGME_DESC= GpgME support LDAP_DESC= LDAP client LIBZFS_DESC= LibZFS MEMORY_DEBUG_DESC= Debug memory allocator PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER) PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota support UTMP_DESC= UTMP accounting VFS_DESC= VFS modules FRUIT_DESC= MacOSX and TimeMachine support GLUSTERFS_DESC= GlusterFS support GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent ############################################################################## # XXX: Unconditional dependencies which can't be switched off(if present in # the system) # Iconv(picked up unconditionaly) LIB_DEPENDS= libiconv.so:converters/libiconv # unwind LIB_DEPENDS+= libunwind.so:devel/libunwind # Readline(sponsored by Python) # XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency LIB_DEPENDS+= libreadline.so:devel/readline # popt LIB_DEPENDS+= libpopt.so:devel/popt # inotify LIB_DEPENDS+= libinotify.so:devel/libinotify # GNUTLS LIB_DEPENDS+= libgnutls.so:security/gnutls LIB_DEPENDS+= libgcrypt.so:security/libgcrypt # NFSv4 ACL glue LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl +# libicu +LIB_DEPENDS+= libicui18n.so:devel/icu +LIB_DEPENDS+= libicuuc.so:devel/icu # Jansson BUILD_DEPENDS+= jansson>=2.10:devel/jansson RUN_DEPENDS+= jansson>=2.10:devel/jansson # tasn1 BUILD_DEPENDS+= libtasn1>=3.8:security/libtasn1 RUN_DEPENDS+= libtasn1>=3.8:security/libtasn1 # External Samba dependencies # Needed for IDL compiler BUILD_DEPENDS+= p5-Parse-Yapp>=0:devel/p5-Parse-Yapp # Libarchive SAMBA4_BUNDLED_LIBS= !libarchive BUILD_DEPENDS+= libarchive>=3.1.2:archivers/libarchive RUN_DEPENDS+= libarchive>=3.1.2:archivers/libarchive ### Bundled libraries SAMBA4_BUNDLED_CMOCKA?= no SAMBA4_BUNDLED_TALLOC?= no SAMBA4_BUNDLED_TEVENT?= no SAMBA4_BUNDLED_TDB?= no -SAMBA4_BUNDLED_LDB?= no +SAMBA4_BUNDLED_LDB?= yes # cmocka .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes SAMBA4_BUNDLED_LIBS+= cmocka CONFLICTS_INSTALL+= cmocka-1.* PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="" SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="" .else SAMBA4_BUNDLED_LIBS+= !cmocka BUILD_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka TEST_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="@comment " SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="@comment " .endif # talloc .if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes SAMBA4_BUNDLED_LIBS+= talloc PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="" SUB_LIST+= SAMBA4_BUNDLED_TALLOC="" .else SAMBA4_BUNDLED_LIBS+= !talloc -BUILD_DEPENDS+= talloc242>=2.4.2:devel/talloc242 -RUN_DEPENDS+= talloc242>=2.4.2:devel/talloc242 +BUILD_DEPENDS+= talloc243>=2.4.3:devel/talloc243 +RUN_DEPENDS+= talloc243>=2.4.3:devel/talloc243 PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="@comment " SUB_LIST+= SAMBA4_BUNDLED_TALLOC="@comment " .endif # tevent .if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes SAMBA4_BUNDLED_LIBS+= tevent CONFLICTS_INSTALL+= tevent-* tevent1-* PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="" SUB_LIST+= SAMBA4_BUNDLED_TEVENT="" .else SAMBA4_BUNDLED_LIBS+= !tevent -BUILD_DEPENDS+= tevent016>=0.16.1:devel/tevent016 -RUN_DEPENDS+= tevent016>=0.16.1:devel/tevent016 +BUILD_DEPENDS+= tevent017>=0.17:devel/tevent017 +RUN_DEPENDS+= tevent017>=0.17:devel/tevent017 PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="@comment " SUB_LIST+= SAMBA4_BUNDLED_TEVENT="@comment " .endif # tdb .if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes SAMBA4_BUNDLED_LIBS+= tdb CONFLICTS_INSTALL+= tdb-* tdb1-* PLIST_SUB+= SAMBA4_BUNDLED_TDB="" SUB_LIST+= SAMBA4_BUNDLED_TDB="" .else SAMBA4_BUNDLED_LIBS+= !tdb -BUILD_DEPENDS+= tdb1410>=1.4.10:databases/tdb1410 -RUN_DEPENDS+= tdb1410>=1.4.10:databases/tdb1410 +BUILD_DEPENDS+= tdb1413>=1.4.13:databases/tdb1413 +RUN_DEPENDS+= tdb1413>=1.4.13:databases/tdb1413 PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment " .endif # ldb .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LDB= yes SAMBA4_BUNDLED_LIBS+= ldb +CONFLICTS_INSTALL+= ldb-* ldb2-* PLIST_SUB+= SAMBA4_BUNDLED_LDB="" SUB_LIST+= SAMBA4_BUNDLED_LDB="" SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules .else SAMBA4_BUNDLED_LIBS+= !ldb BUILD_DEPENDS+= ldb29>=2.9.1:databases/ldb29 RUN_DEPENDS+= ldb29>=2.9.1:databases/ldb29 PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment " SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules .endif .if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ || (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \ || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) SAMBA4_BUNDLED_LIBS+= replace .endif # Don't use external libcom_err SAMBA4_BUNDLED_LIBS+= com_err # Set the test environment variables TEST_USES= python TEST_ENV= PYTHON="${PYTHON_CMD}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=/sbin/sha256 \ MD5SUM=/sbin/md5 \ PYTHONDONTWRITEBYTECODE=1 TEST_DEPENDS= bash:shells/bash \ tshark:net/wireshark@nox11 # External Python modules TEST_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} TEST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} ############################################################################## CONFIGURE_ARGS+= \ --with-pam \ --with-iconv \ + --with-libiconv="${ICONV_PREFIX}" \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --with-libarchive \ --with-acl-support \ --with-sendfile-support \ --disable-ctdb-tests \ --disable-spotlight # ${ICONV_CONFIGURE_BASE} ############################################################################## FRUIT_PREVENTS= ZEROCONF_NONE FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit GLUSTERFS_CONFIGURE_ENABLE= glusterfs GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none ############################################################################## AVAHI_CONFIGURE_ENABLE= avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_VARS= SAMBA4_SERVICES+=avahi_daemon MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd ############################################################################## MEMORY_DEBUG_IMPLIES= DEBUG MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 GDB_CMD?= ${LOCALBASE}/bin/gdb # https://bugzilla.samba.org/show_bug.cgi?id=8969 PICKY_DEVELOPER_IMPLIES= DEVELOPER PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable DEVELOPER_CONFIGURE_ENV= WAF_CMD_FORMAT=string DEVELOPER_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} \ ${GDB_CMD}:devel/gdb DEVELOPER_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} DEVELOPER_TEST_DEPENDS= ${GDB_CMD}:devel/gdb DEVELOPER_VARS_OFF= GDB_CMD=true ############################################################################## AD_DC_IMPLIES= PYTHON3 -AD_DC_CONFIGURE_OFF= --without-ad-dc +AD_DC_CONFIGURE_OFF= --without-ad-dc --without-ldb-lmdb AD_DC_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_VARS= PLIST+=${PKGDIR}/pkg-plist.ad_dc # samba-tool requires those for *upgrade AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} -ADS_IMPLIES= LDAP ADS_CONFIGURE_WITH= ads CLUSTER_CONFIGURE_WITH= cluster-support CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_CONFIGURE_ENABLE= cups iprint CUPS_LIB_DEPENDS= libcups.so:print/cups # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_USES= fam FAM_CONFIGURE_WITH= fam GPGME_CONFIGURE_WITH= gpgme GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme GPGME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR} -.if exists(/usr/libexec/krb5kdc) -GSSAPI_BUILTIN_USES= gssapi -GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ - --with-system-mitkdc=${GSSAPIBASEDIR}/libexec/krb5kdc -.endif - -GSSAPI_BUILTIN_BUILD_DEPENDS= p5-JSON>=4.0:converters/p5-JSON +GSSAPI_BUILTIN_USES= bison GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc GSSAPI_MIT_USES= gssapi:mit GSSAPI_HEIMDAL_CONFIGURE_ON= --with-system-heimdalkrb5 ${GSSAPIBASEDIR} GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_HEIMDAL_PREVENTS= AD_DC GSSAPI_HEIMDAL_PREVENTS_MSG= GSSAPI_HEIMDAL and AD_DC enable conflicting options LDAP_CONFIGURE_WITH= ldap -LDAP_CONFIGURE_ON= --with-openldap=${LOCALBASE} +LDAP_CONFIGURE_ON= --with-ldap +LDAP_CONFIGURE_OFF= --without-ldap LDAP_USES= ldap LDAP_VARS= SAMBA4_MODULES+=idmap_ldap LIBZFS_CONFIGURE_WITH= libzfs LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" PROFILE_CONFIGURE_WITH= profiling-data QUOTAS_CONFIGURE_WITH= quotas SYSLOG_CONFIGURE_WITH= syslog UTMP_CONFIGURE_WITH= utmp ############################################################################## .include ############################################################################## .if !${PORT_OPTIONS:MADS} && ${PORT_OPTIONS:MAD_DC} IGNORE=To disable ADS option you also need to disable AD_DC option .endif .if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) WANT_EXP_MODULES= vfs_cacheprime .endif .if ${WANT_EXP_MODULES:Mvfs_snapper} # snapper needs dbus LIB_DEPENDS+= libdbus-1.so:devel/dbus LIB_DEPENDS+= libdbus-glib-1.so:devel/dbus-glib .endif SAMBA4_MODULES+= krb5_async_dns_krb5_locator krb5_winbind_krb5_locator idmap_nss idmap_autorid \ idmap_rid idmap_hash idmap_tdb idmap_tdb2 idmap_script \ nss-info_hash # List of extra modules taken from RHEL build # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 .if ${PORT_OPTIONS:MADS} SAMBA4_MODULES+= idmap_ad idmap_rfc2307 nss-info_template \ nss-info_rfc2307 nss-info_sfu nss-info_sfu20 .endif # This kind of special for this distribution SAMBA4_MODULES+= vfs_freebsd SAMBA4_MODULES+= vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \ vfs_audit vfs_cap vfs_catia vfs_commit vfs_crossrename \ vfs_default_quota vfs_dirsort vfs_expand_msdfs \ vfs_extd_audit vfs_fake_perms vfs_full_audit \ vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ vfs_streams_depot vfs_streams_xattr vfs_syncops \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl .if ${PORT_OPTIONS:MDEVELOPER} SAMBA4_MODULES+= auth_skel pdb_test gpext_security gpext_registry \ gpext_scripts perfcount_test vfs_fake_dfq \ vfs_skel_opaque vfs_skel_transparent \ vfs_shadow_copy_test vfs_fake_acls \ vfs_nfs4acl_xattr vfs_error_inject vfs_delay_inject .endif # Python bindings .if ! ${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON) USES+= python:build,test CONFIGURE_ARGS+= --disable-python .else USES+= python PLIST+= ${PKGDIR}/pkg-plist.python # Don't cache Python modules CONFIGURE_ARGS+= --nopycache MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 . if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes SAMBA4_BUNDLED_LIBS+= pytalloc-util . else SAMBA4_BUNDLED_LIBS+= !pytalloc-util . endif . if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes SAMBA4_BUNDLED_LIBS+= pytevent . else SAMBA4_BUNDLED_LIBS+= !pytevent . endif . if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes SAMBA4_BUNDLED_LIBS+= pytdb . else SAMBA4_BUNDLED_LIBS+= !pytdb . endif . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util . else SAMBA4_BUNDLED_LIBS+= !pyldb !pyldb-util . endif .endif .if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) SAMBA4_MODULES+= ${WANT_EXP_MODULES} .endif .if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS) CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" .endif .if defined(SAMBA4_MODULES) && !empty(SAMBA4_MODULES) CONFIGURE_ARGS+= --with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}" .endif # XXX: Hack for nss-info_* -> nss_info/* modules # Add selected modules to the plist .for module in ${SAMBA4_MODULES} PLIST_FILES+= ${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so .endfor .for module_class in ${SAMBA4_MODULES_CLASS} PLIST_DIRS+= ${SAMBA4_MODULEDIR}/${module_class} .endfor PLIST_DIRS+= ${SAMBA4_MODULEDIR} .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --verbose --enable-debug MAKE_ARGS+= --verbose DEBUG_FLAGS?= -g -ggdb3 -O0 .endif ############################################################################## .include ############################################################################## # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-private-samba.so \ ${SAMBA4_MODULEDIR}/ldb/mdb.so . endif .endif .if ${PORT_OPTIONS:MGSSAPI_MIT} PLIST_FILES+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/winbind_krb5_localauth.8.gz . endif . if ${PORT_OPTIONS:MAD_DC} PLIST_FILES+= ${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so . endif .endif .if ${PORT_OPTIONS:MFRUIT} . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/vfs_fruit.8.gz . endif .endif .if ${PORT_OPTIONS:MGLUSTERFS} . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/vfs_glusterfs.8.gz . endif .endif # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) CFLAGS_amd64+= -fno-omit-frame-pointer # No fancy color error messages CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} CFLAGS_clang= -fno-color-diagnostics CONFIGURE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' MAKE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' # Allow rpcgen to find proper CPP MAKE_ENV+= RPCGEN_CPP="${CPP}" #.if ${readline_ARGS} == port #CFLAGS+= -D_FUNCTION_DEF #.endif # Some symbols in samba's linker version scripts are not defined, but since the # scripts are generated dynamically, suppress errors with lld >= 17 due to these # undefined symbols. LDFLAGS+= -Wl,--undefined-version SAMBA4_SUB= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \ SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \ SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \ SAMBA4_LIBDIR="${SAMBA4_LIBDIR}" \ SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \ SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \ SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \ SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \ SAMBA4_CONFIG="${SAMBA4_CONFIG}" \ SAMBA4_SERVICES="${SAMBA4_SERVICES}" PLIST_SUB+= ${SAMBA4_SUB} SUB_LIST+= ${SAMBA4_SUB} USE_RC_SUBR= samba_server SUB_FILES= pkg-message README.FreeBSD PORTDOCS= README.FreeBSD post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${PKGCONFIGDIR}|g' \ ${PATCH_WRKSRC}/buildtools/wafsamba/pkgconfig.py @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${PATCH_WRKSRC}/buildtools/wafsamba/wafsamba.py @${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${GDB_CMD}|g' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: .if (!${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON)) && ${PORT_OPTIONS:MAD_DC} @${ECHO_CMD}; \ ${ECHO_MSG} "===> AD_DC option requires PYTHON3 to be set"; \ ${ECHO_CMD}; \ ${FALSE} .endif post-install-rm-junk: ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete post-install-fix-manpages: .if ${PORT_OPTIONS:MMANPAGES} .for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor -.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes -. for f in ldbadd.1 ldbdel.1 ldbedit.1 ldbmodify.1 ldbrename.1 ldbsearch.1 - ${MV} ${STAGEDIR}${PREFIX}/share/man/man1/${f} ${STAGEDIR}${PREFIX}/share/man/man1/samba-${f} -. endfor -.endif .if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes . for f in talloc.3 ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/${f} ${STAGEDIR}${PREFIX}/share/man/man3/samba-${f} . endfor .endif .if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes . for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8 ${MV} ${STAGEDIR}${PREFIX}/share/man/man8/${f} ${STAGEDIR}${PREFIX}/share/man/man8/samba-${f} . endfor .endif .endif post-install: post-install-rm-junk post-install-fix-manpages .if ${PORT_OPTIONS:MMANPAGES} ${LN} -sf smb.conf.5.gz ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5.gz .endif # Run post-install script .for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR} ${INSTALL} -d -m 0755 "${STAGEDIR}${dir}" .endfor ${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_BINDDNSDIR}" ${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_PRIVATEDIR}" .for module_class in ${SAMBA4_MODULES_CLASS} ${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA4_MODULEDIR}/${module_class}" .endfor .if !defined(WITH_DEBUG) -${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif post-install-FRUIT-off: ${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so .if ${PORT_OPTIONS:MMANPAGES} ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 .endif post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for doc in ${PORTDOCS} ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} .endfor post-install-CLUSTER-on: ${LN} -nfs ../../../../share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script ${LN} -nfs ../../../../share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script ${LN} -nfs ../../../../share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script ${LN} -nfs ../../../../share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script .include diff --git a/net/samba422/distinfo b/net/samba422/distinfo index e6dc8bc2d49f..270840dcc448 100644 --- a/net/samba422/distinfo +++ b/net/samba422/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1737565689 -SHA256 (samba-4.20.7.tar.gz) = 5afe8b66e612ab1c7e57c6146adfe98ec3ea9d40dee2962a2076a3d6d6973b78 -SIZE (samba-4.20.7.tar.gz) = 42523056 +TIMESTAMP = 1752217501 +SHA256 (samba-4.22.3.tar.gz) = 8fd7092629a3596d935cd7567d934979f94272918ec3affd0cc807934ecf22ba +SIZE (samba-4.22.3.tar.gz) = 42869744 diff --git a/net/samba422/files/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch b/net/samba422/files/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch deleted file mode 100644 index 0508ba5113dd..000000000000 --- a/net/samba422/files/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 6be12b41eb0f71cfc25b5df6659dd176bd681621 Mon Sep 17 00:00:00 2001 -From: "Timur I. Bakeyev" -Date: Thu, 8 Sep 2022 00:25:05 +0200 -Subject: [PATCH 13/28] Pass additional msg parameter to CHECK_LIB(), so it can - be transited to the conf.check(), which allows us to specify `match` - parameter to opt.add_option(). - -Signed-off-by: Timur I. Bakeyev ---- - buildtools/wafsamba/samba_autoconf.py | 9 ++++++--- - buildtools/wafsamba/wscript | 9 +++++++-- - 2 files changed, 13 insertions(+), 5 deletions(-) - -diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py -index cf87c8bb9ff..f6c72d99125 100644 ---- a/buildtools/wafsamba/samba_autoconf.py -+++ b/buildtools/wafsamba/samba_autoconf.py -@@ -593,7 +593,7 @@ def library_flags(self, libs): - - - @conf --def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False): -+def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False, msg=None): - '''check if a set of libraries exist as system libraries - - returns the sublist of libs that do exist as a syslib or [] -@@ -613,11 +613,14 @@ int foo() - ret.append(lib) - continue - -+ if msg is None: -+ msg = 'Checking for library %s' % lib -+ - (ccflags, ldflags, cpppath) = library_flags(conf, lib) - if shlib: -- res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False) -+ res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False, msg=msg) - else: -- res = conf.check(lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False) -+ res = conf.check(lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False, msg=msg) - - if not res: - if mandatory: -diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript -index a4d6f3e5c49..c047e1e8b5a 100644 ---- a/buildtools/wafsamba/wscript -+++ b/buildtools/wafsamba/wscript -@@ -133,12 +133,17 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), - help=("private library directory [PREFIX/lib/%s]" % Context.g_module.APPNAME), - action="store", dest='PRIVATELIBDIR', default=None) - -+ opt.add_option('--with-openldap', -+ help='additional directory to search for OpenLDAP libs', -+ action='store', dest='ldap_open', default=None, -+ match = ['Checking for library lber', 'Checking for library ldap']) -+ - opt.add_option('--with-libiconv', - help='additional directory to search for libiconv', -- action='store', dest='iconv_open', default='/usr/local', -+ action='store', dest='iconv_open', default=None, - match = ['Checking for library iconv', 'Checking for iconv_open', 'Checking for header iconv.h']) - opt.add_option('--without-gettext', -- help=("Disable use of gettext"), -+ help=("disable use of gettext"), - action="store_true", dest='disable_gettext', default=False) - - gr = opt.option_group('developer options') --- -2.37.1 - diff --git a/net/samba422/files/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch b/net/samba422/files/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch deleted file mode 100644 index 3746f0e479f6..000000000000 --- a/net/samba422/files/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch +++ /dev/null @@ -1,367 +0,0 @@ -From d3024a4a2ff8015932a26a9df08e8ea5ff12a959 Mon Sep 17 00:00:00 2001 -From: "Timur I. Bakeyev" -Date: Thu, 4 Aug 2022 05:15:33 +0200 -Subject: [PATCH 24/28] Cherry-pick ZFS provisioning code by iXsystems Inc. - -* Check if sysvol is on filesystem with NFSv4 ACL's -(cherry picked from commit ca86f52b78a7b6e7537454a69cf93e7b96210cba) - -* Only check targetdir if it is defined (I had assumed it was) -(cherry picked from commit a29050cb2978ce23e3c04a859340dc2664c77a8a) - -* Kick samba a little bit into understanding NFSv4 ACL's -(cherry picked from commit 1c7542ff4904b729e311e17464ee76582760c219) - -Signed-off-by: Timur I. Bakeyev ---- - python/samba/provision/__init__.py | 22 +++- - source3/lib/sysacls.c | 10 ++ - source3/param/loadparm.c | 20 +++ - source3/smbd/pysmbd.c | 189 ++++++++++++++++++++++++++++- - 4 files changed, 235 insertions(+), 6 deletions(-) - -diff --git a/python/samba/provision/__init__.py b/python/samba/provision/__init__.py -index ff9b8fac916..20e41a9ad3e 100644 ---- a/python/samba/provision/__init__.py -+++ b/python/samba/provision/__init__.py -@@ -1662,19 +1662,25 @@ def setsysvolacl(samdb, netlogon, sysvol, uid, gid, domainsid, dnsdomain, - s3conf = s3param.get_context() - s3conf.load(lp.configfile) - -- file = tempfile.NamedTemporaryFile(dir=os.path.abspath(sysvol)) -+ sysvol_dir = os.path.abspath(sysvol) -+ -+ set_simple_acl = smbd.set_simple_acl -+ if smbd.has_nfsv4_acls(sysvol_dir): -+ set_simple_acl = smbd.set_simple_nfsv4_acl -+ -+ file = tempfile.NamedTemporaryFile(dir=sysvol_dir) - try: - try: -- smbd.set_simple_acl(file.name, 0o755, system_session_unix(), gid) -+ set_simple_acl(file.name, 0o755, system_session_unix(), gid) - except OSError: -- if not smbd.have_posix_acls(): -+ if not smbd.have_posix_acls() and not smbd.have_nfsv4_acls(): - # This clue is only strictly correct for RPM and - # Debian-like Linux systems, but hopefully other users - # will get enough clue from it. -- raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires. " -+ raise ProvisioningError("Samba was compiled without the ACL support that s3fs requires. " - "Try installing libacl1-dev or libacl-devel, then re-run configure and make.") - -- raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. " -+ raise ProvisioningError("Your filesystem or build does not support ACLs, which s3fs requires. " - "Try the mounting the filesystem with the 'acl' option.") - try: - smbd.chown(file.name, uid, gid, system_session_unix()) -@@ -1959,6 +1965,9 @@ def provision_fill(samdb, secrets_ldb, logger, names, paths, - samdb.transaction_commit() - - if serverrole == "active directory domain controller": -+ if targetdir and smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(targetdir): -+ smbd.set_nfsv4_defaults() -+ - # Continue setting up sysvol for GPO. This appears to require being - # outside a transaction. - if not skip_sysvolacl: -@@ -2313,6 +2322,9 @@ def provision(logger, session_info, smbconf=None, - if not os.path.isdir(paths.netlogon): - os.makedirs(paths.netlogon, 0o755) - -+ if smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(paths.sysvol): -+ smbd.set_nfsv4_defaults() -+ - if adminpass is None: - adminpass = samba.generate_random_password(12, 32) - adminpass_generated = True -diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c -index 891fabea21e..d1357a47bd0 100644 ---- a/source3/lib/sysacls.c -+++ b/source3/lib/sysacls.c -@@ -38,6 +38,16 @@ - #include "modules/vfs_aixacl.h" - #endif - -+/* -+ * NFSv4 ACL's should be understood and a first class citizen. Work -+ * needs to be done in librpc/idl/smb_acl.idl for this to occur. -+ */ -+#if defined(HAVE_LIBSUNACL) && defined(FREEBSD) -+#if 0 -+#include "modules/nfs4_acls.h" -+#endif -+#endif -+ - #undef DBGC_CLASS - #define DBGC_CLASS DBGC_ACLS - -diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c -index 21e061939e3..4e23fdaaf6d 100644 ---- a/source3/param/loadparm.c -+++ b/source3/param/loadparm.c -@@ -2830,9 +2830,29 @@ static void init_locals(void) - } else { - if (lp_parm_const_string(-1, "xattr_tdb", "file", NULL)) { - lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr xattr_tdb"); -+ /* -+ * By default, the samba sysvol is located in the statedir. Provisioning will fail in setntacl -+ * unless we have zfacl enabled. Unfortunately, at this point the smb.conf has not been generated. -+ * This workaround is freebsd-specific. -+ */ -+#if defined(_PC_ACL_EXTENDED) -+ } else if (pathconf(lp_state_directory(), _PC_ACL_EXTENDED) == 1) { -+ lp_do_parameter(-1, "vfs objects", "dfs_samba4 freebsd"); -+#endif -+#if defined(_PC_ACL_NFS4) -+ } else if (pathconf(lp_state_directory(), _PC_ACL_NFS4) == 1) { -+ lp_do_parameter(-1, "vfs objects", "dfs_samba4 zfsacl"); -+#endif - } else if (lp_parm_const_string(-1, "posix", "eadb", NULL)) { - lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr posix_eadb"); - } else { -+ /* -+ * This should only set dfs_samba4 and leave acl_xattr -+ * to be set later (or zfsacl). The only reason the decision -+ * can't be made here to load acl_xattr or zfsacl is -+ * that we don't have access to what the target -+ * directory is. -+ */ - lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr"); - } - } -diff --git a/source3/smbd/pysmbd.c b/source3/smbd/pysmbd.c -index 88cbf62a680..867010ea6cd 100644 ---- a/source3/smbd/pysmbd.c -+++ b/source3/smbd/pysmbd.c -@@ -485,6 +485,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_CTX *mem_ctx, - return acl; - } - -+static SMB_ACL_T make_simple_nfsv4_acl(TALLOC_CTX *mem_ctx, -+ gid_t gid, -+ mode_t chmod_mode) -+{ -+ /* -+ * This function needs to create an NFSv4 ACL. Currently, the only way -+ * to do so is to use the operating system interface, or to use the -+ * functions in source3/modules/nfs4_acls.c. These seems ugly and -+ * hacky. NFSv4 ACL's should be a first class citizen and -+ * librpc/idl/smb_acl.idl should be modified accordingly. -+ */ -+ return NULL; -+} -+ - /* - set a simple ACL on a file, as a test - */ -@@ -557,6 +571,84 @@ static PyObject *py_smbd_set_simple_acl(PyObject *self, PyObject *args, PyObject - Py_RETURN_NONE; - } - -+ -+/* -+ set a simple NFSv4 ACL on a file, as a test -+ */ -+static PyObject *py_smbd_set_simple_nfsv4_acl(PyObject *self, PyObject *args, PyObject *kwargs) -+{ -+ const char * const kwnames[] = { -+ "fname", -+ "mode", -+ "session_info", -+ "gid", -+ "service", -+ NULL -+ }; -+ char *fname, *service = NULL; -+ PyObject *py_session = Py_None; -+ struct auth_session_info *session_info = NULL; -+ int ret; -+ int mode, gid = -1; -+ SMB_ACL_T acl; -+ TALLOC_CTX *frame; -+ connection_struct *conn; -+ -+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "siO|iz", -+ discard_const_p(char *, kwnames), -+ &fname, -+ &mode, -+ &py_session, -+ &gid, -+ &service)) -+ return NULL; -+ -+ if (!py_check_dcerpc_type(py_session, -+ "samba.dcerpc.auth", -+ "session_info")) { -+ return NULL; -+ } -+ session_info = pytalloc_get_type(py_session, -+ struct auth_session_info); -+ if (session_info == NULL) { -+ PyErr_Format(PyExc_TypeError, -+ "Expected auth_session_info for session_info argument got %s", -+ pytalloc_get_name(py_session)); -+ return NULL; -+ } -+ -+ frame = talloc_stackframe(); -+ -+ acl = make_simple_nfsv4_acl(frame, gid, mode); -+ if (acl == NULL) { -+ TALLOC_FREE(frame); -+ Py_RETURN_NONE; -+ } -+ -+ conn = get_conn_tos(service, session_info); -+ if (!conn) { -+ TALLOC_FREE(frame); -+ Py_RETURN_NONE; -+ } -+ -+ /* -+ * SMB_ACL_TYPE_ACCESS -> ACL_TYPE_ACCESS -> Not valid for NFSv4 ACL -+ */ -+ ret = 0; -+ -+ /* ret = set_sys_acl_conn(fname, SMB_ACL_TYPE_ACCESS, acl, conn); */ -+ -+ if (ret != 0) { -+ TALLOC_FREE(frame); -+ errno = ret; -+ return PyErr_SetFromErrno(PyExc_OSError); -+ } -+ -+ TALLOC_FREE(frame); -+ -+ Py_RETURN_NONE; -+} -+ - /* - chown a file - */ -@@ -744,7 +836,7 @@ static PyObject *py_smbd_unlink(PyObject *self, PyObject *args, PyObject *kwargs - } - - /* -- check if we have ACL support -+ check if we have POSIX.1e ACL support - */ - static PyObject *py_smbd_have_posix_acls(PyObject *self, - PyObject *Py_UNUSED(ignored)) -@@ -756,6 +848,83 @@ static PyObject *py_smbd_have_posix_acls(PyObject *self, - #endif - } - -+static PyObject *py_smbd_has_posix_acls(PyObject *self, PyObject *args, PyObject *kwargs) -+{ -+ const char * const kwnames[] = { "path", NULL }; -+ char *path = NULL; -+ TALLOC_CTX *frame; -+ struct statfs fs; -+ int ret = false; -+ -+ frame = talloc_stackframe(); -+ -+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", -+ discard_const_p(char *, kwnames), &path)) { -+ TALLOC_FREE(frame); -+ return NULL; -+ } -+ -+ if (statfs(path, &fs) != 0) { -+ TALLOC_FREE(frame); -+ return NULL; -+ } -+ -+ if (fs.f_flags & MNT_ACLS) -+ ret = true; -+ -+ TALLOC_FREE(frame); -+ return PyBool_FromLong(ret); -+} -+ -+/* -+ check if we have NFSv4 ACL support -+ */ -+static PyObject *py_smbd_have_nfsv4_acls(PyObject *self) -+{ -+#ifdef HAVE_LIBSUNACL -+ return PyBool_FromLong(true); -+#else -+ return PyBool_FromLong(false); -+#endif -+} -+ -+static PyObject *py_smbd_has_nfsv4_acls(PyObject *self, PyObject *args, PyObject *kwargs) -+{ -+ const char * const kwnames[] = { "path", NULL }; -+ char *path = NULL; -+ TALLOC_CTX *frame; -+ struct statfs fs; -+ int ret = false; -+ -+ frame = talloc_stackframe(); -+ -+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", -+ discard_const_p(char *, kwnames), &path)) { -+ TALLOC_FREE(frame); -+ return NULL; -+ } -+ -+ if (statfs(path, &fs) != 0) { -+ TALLOC_FREE(frame); -+ return NULL; -+ } -+ -+ if (fs.f_flags & MNT_NFS4ACLS) -+ ret = true; -+ -+ TALLOC_FREE(frame); -+ return PyBool_FromLong(ret); -+} -+ -+ -+static PyObject *py_smbd_set_nfsv4_defaults(PyObject *self) -+{ -+ /* -+ * It is really be done in source3/param/loadparm.c -+ */ -+ Py_RETURN_NONE; -+} -+ - /* - set the NT ACL on a file - */ -@@ -1242,10 +1411,28 @@ static PyMethodDef py_smbd_methods[] = { - { "have_posix_acls", - (PyCFunction)py_smbd_have_posix_acls, METH_NOARGS, - NULL }, -+ { "has_posix_acls", -+ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_has_posix_acls), -+ METH_VARARGS|METH_KEYWORDS, -+ NULL }, -+ { "have_nfsv4_acls", -+ (PyCFunction)py_smbd_have_nfsv4_acls, METH_NOARGS, -+ NULL }, -+ { "has_nfsv4_acls", -+ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_has_nfsv4_acls), -+ METH_VARARGS|METH_KEYWORDS, -+ NULL }, -+ { "set_nfsv4_defaults", -+ (PyCFunction)py_smbd_set_nfsv4_defaults, METH_NOARGS, -+ NULL }, - { "set_simple_acl", - PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_simple_acl), - METH_VARARGS|METH_KEYWORDS, - NULL }, -+ { "set_simple_nfsv4_acl", -+ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_simple_nfsv4_acl), -+ METH_VARARGS|METH_KEYWORDS, -+ NULL }, - { "set_nt_acl", - PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_nt_acl), - METH_VARARGS|METH_KEYWORDS, --- -2.37.1 - diff --git a/net/samba422/files/0028-Fix-rl_completion_func_t.patch b/net/samba422/files/0028-Fix-rl_completion_func_t.patch deleted file mode 100644 index 33debfab76bc..000000000000 --- a/net/samba422/files/0028-Fix-rl_completion_func_t.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/samba-4.19.8/lib/replace/system/readline.h 2023-07-18 10:14:54.478091000 +0200 -+++ b/lib/replace/system/readline.h 2024-10-02 13:47:48.773606000 +0200 -@@ -46,10 +46,10 @@ - #endif - - #ifdef HAVE_NEW_LIBREADLINE --#ifdef HAVE_CPPFUNCTION -+#if defined(HAVE_RL_COMPLETION_FUNC_T) -+# define RL_COMPLETION_CAST (rl_completion_func_t *) -+#elif defined(HAVE_CPPFUNCTION) - # define RL_COMPLETION_CAST (CPPFunction *) --#elif defined(HAVE_RL_COMPLETION_T) --# define RL_COMPLETION_CAST (rl_completion_t *) - #else - # define RL_COMPLETION_CAST - #endif -diff -upr a/samba-4.19.8/libcli/smbreadline/wscript_configure b/libcli/smbreadline/wscript_configure ---- a/samba-4.19.8/libcli/smbreadline/wscript_configure 2023-07-18 10:14:54.558091600 +0200 -+++ b/libcli/smbreadline/wscript_configure 2024-10-02 13:47:48.774008000 +0200 -@@ -51,10 +51,10 @@ conf.CHECK_CODE(''' - # endif - # endif - #endif --int main(void) {rl_completion_t f; return 0;} -+int main(void) {rl_completion_func_t f; return 0;} - ''', - 'HAVE_RL_COMPLETION_FUNC_T', execute=False, addmain=False, --msg='Checking for rl_completion_t') -+msg='Checking for rl_completion_func_t') - - conf.CHECK_CODE(''' - #ifdef HAVE_READLINE_READLINE_H diff --git a/net/samba422/files/0099-s3-modules-zfsacl-fix-get-set-ACL-on-FreeBSD-13.patch b/net/samba422/files/0099-s3-modules-zfsacl-fix-get-set-ACL-on-FreeBSD-13.patch deleted file mode 100644 index 275e7e464456..000000000000 --- a/net/samba422/files/0099-s3-modules-zfsacl-fix-get-set-ACL-on-FreeBSD-13.patch +++ /dev/null @@ -1,164 +0,0 @@ -From ff8b27f6f0c67cbb0fb37f80f3336c1bd0f28430 Mon Sep 17 00:00:00 2001 -From: Andrew Walker -Date: Thu, 16 Mar 2023 09:05:45 -0700 -Subject: [PATCH] Fixups for VFS changes in 4.18 - ---- - debian/changelog | 24 ++++++------------ - lib/audit_logging/audit_logging.c | 4 +-- - source3/modules/vfs_shadow_copy_zfs.c | 24 ++++++++---------- - source3/modules/vfs_tmprotect.c | 2 +- - source3/modules/vfs_zfsacl.c | 35 +++++++++++++++++++++++++++ - source3/utils/net_groupmap.c | 6 ++--- - 6 files changed, 58 insertions(+), 37 deletions(-) - -diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c -index e24cb683d2..18f8dcb4b2 100644 ---- a/source3/modules/vfs_zfsacl.c -+++ b/source3/modules/vfs_zfsacl.c -@@ -307,6 +307,41 @@ static NTSTATUS zfs_set_nt_acl(vfs_handle_struct *handle, files_struct *fsp, - zfs_process_smbacl); - } - -+static int get_zfsacl(TALLOC_CTX *mem_ctx, -+ const struct smb_filename *smb_fname, -+ ace_t **outbuf) -+{ -+ int naces, rv; -+ ace_t *acebuf = NULL; -+ -+ naces = acl(smb_fname->base_name, ACE_GETACLCNT, 0, NULL); -+ if (naces == -1) { -+ int dbg_level = 10; -+ -+ if (errno == ENOSYS) { -+ dbg_level = 1; -+ } -+ DEBUG(dbg_level, ("acl(ACE_GETACLCNT, %s): %s ", -+ smb_fname->base_name, strerror(errno))); -+ return naces; -+ } -+ acebuf = talloc_size(mem_ctx, sizeof(ace_t)*naces); -+ if (acebuf == NULL) { -+ errno = ENOMEM; -+ return -1; -+ } -+ -+ rv = acl(smb_fname->base_name, ACE_GETACL, naces, acebuf); -+ if (rv == -1) { -+ DBG_DEBUG("acl(ACE_GETACL, %s) failed: %s ", -+ smb_fname->base_name, strerror(errno)); -+ return -1; -+ } -+ -+ *outbuf = acebuf; -+ return naces; -+} -+ - static int fget_zfsacl(TALLOC_CTX *mem_ctx, - struct files_struct *fsp, - ace_t **outbuf) -From 0c2c9f21cf01983d9001edef4983bc15b79a31ad Mon Sep 17 00:00:00 2001 -From: Andrew -Date: Mon, 29 Nov 2021 12:33:15 -0500 -Subject: [PATCH] NAS-113538 / Fix procfd handling for xattr-based alternate - datastreams (#54) - -vfs_streams_xattr openat() does not set fsp.flags.have_proc_fds. In open_streams_for_delete() the fsp is not allocated via talloc_zero() and so this may be unitialized memory. - -This particular fix ensures vfs_streams_xattr sets the fsp have_proc_fds flag to the one defined in the associated tree connect for the fsp. In the case of vfs_ixnas, ensure that we read the NT ACL from fsp->base_fsp (file) rather than the fsp associated with the xattr. - -This PR also fixes vfs_zfsacl for FreeBSD 13 (adding handling for procfd paths) ---- - source3/modules/vfs_ixnas.c | 4 ++- - source3/modules/vfs_zfsacl.c | 62 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 65 insertions(+), 1 deletion(-) - ---- a/source3/modules/vfs_zfsacl.c -+++ b/source3/modules/vfs_zfsacl.c -@@ -235,12 +235,43 @@ static bool zfs_process_smbacl(vfs_handle_struct *handle, files_struct *fsp, - SMB_ASSERT(i == naces); - - /* store acl */ -+#ifdef O_PATH -+ if (fsp->fsp_flags.is_pathref) { -+ const char *proc_fd_path = NULL; -+ char buf[PATH_MAX]; -+ -+ if (!fsp->fsp_flags.have_proc_fds) { -+ DBG_ERR("fdescfs filesystem must be mounted with 'nodup' " -+ "option \n"); -+ errno = EBADF; -+ return -1; -+ } -+ -+ fd = fsp_get_pathref_fd(fsp); -+ proc_fd_path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ if (proc_fd_path == NULL) { -+ DBG_ERR("%s: failed to generate pathref fd for %d\n", -+ fsp_str_dbg(fsp), fd); -+ errno = EBADF; -+ return -1; -+ } -+ rv = acl(proc_fd_path, ACE_SETACL, naces, acebuf); -+ } else { -+ fd = fsp_get_io_fd(fsp); -+ if (fd == -1) { -+ errno = EBADF; -+ return false; -+ } -+ rv = facl(fd, ACE_SETACL, naces, acebuf); -+ } -+#else - fd = fsp_get_pathref_fd(fsp); - if (fd == -1) { - errno = EBADF; - return false; - } - rv = facl(fd, ACE_SETACL, naces, acebuf); -+#endif - if (rv != 0) { - if(errno == ENOSYS) { - DEBUG(9, ("acl(ACE_SETACL, %s): Operation is not " -@@ -286,7 +317,38 @@ static int fget_zfsacl(TALLOC_CTX *mem_ctx, - ace_t *acebuf = NULL; - int fd; - -+#ifdef O_PATH -+ if (fsp->fsp_flags.is_pathref) { -+ const char *proc_fd_path = NULL; -+ char buf[PATH_MAX]; -+ struct smb_filename smb_fname; -+ -+ if (!fsp->fsp_flags.have_proc_fds) { -+ DBG_ERR("fdescfs filesystem must be mounted with 'nodup' " -+ "option \n"); -+ errno = EBADF; -+ return -1; -+ } -+ -+ fd = fsp_get_pathref_fd(fsp); -+ proc_fd_path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ if (proc_fd_path == NULL) { -+ DBG_ERR("%s: failed to generate pathref fd for %d\n", -+ fsp_str_dbg(fsp), fd); -+ errno = EBADF; -+ return -1; -+ } -+ -+ smb_fname = (struct smb_filename) { -+ .base_name = discard_const_p(char, proc_fd_path) -+ }; -+ -+ return get_zfsacl(mem_ctx, &smb_fname, outbuf); -+ } -+ fd = fsp_get_io_fd(fsp); -+#else - fd = fsp_get_pathref_fd(fsp); -+#endif - if (fd == -1) { - errno = EBADF; - return -1; --- -2.43.0 - diff --git a/net/samba422/files/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch b/net/samba422/files/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch deleted file mode 100644 index 3a185fe80175..000000000000 --- a/net/samba422/files/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch +++ /dev/null @@ -1,515 +0,0 @@ -https://bugzilla.samba.org/show_bug.cgi?id=15376 - -# 2024-08-05 -# NOTE: Patch is partially split apart from the copy in net/samba419 due to Samba upstream -# making some Linux-specific changes. FreeBSD-specific linprocfs mount path bits are -# moved to a separate patch due to upstream hardcoding the Linux-specific procfs -# path in multiple places in commit 9f63fad392f3: -# https://git.samba.org/?p=samba.git;a=commitdiff;h=9f63fad392f3cff34d6a8e318e0427499170c417 - -diff -Naurp a/source3/include/proto.h b/source3/include/proto.h ---- a/source3/include/proto.h 2024-02-02 04:33:51.168489200 -0500 -+++ b/source3/include/proto.h 2024-08-05 21:25:56.723092000 -0400 -@@ -211,6 +211,10 @@ char *sys_proc_fd_path(int fd, struct sys_proc_fd_path - bool sys_have_proc_fds(void); - char *sys_proc_fd_path(int fd, struct sys_proc_fd_path_buf *buf); - -+int sys_open_real_fd_from_pathref_fd(int fd, -+ int *mfd, -+ int flags); -+ - struct stat; - void init_stat_ex_from_stat (struct stat_ex *dst, - const struct stat *src, -diff -Naurp a/source3/lib/system.c b/source3/lib/system.c ---- a/source3/lib/system.c 2024-02-02 04:33:51.188489400 -0500 -+++ b/source3/lib/system.c 2024-08-05 21:25:56.723571000 -0400 -@@ -1074,3 +1074,23 @@ char *sys_proc_fd_path(int fd, struct sys_proc_fd_path - - return buf->buf; - } -+ -+/* Helper function that opens a usable fd for accessing data -+ (metadata & content) from a pathref fd */ -+int sys_open_real_fd_from_pathref_fd(int fd, int *rfd, int flags) -+{ -+ int tfd; -+ -+#if defined(HAVE_OPENAT) && defined(O_EMPTY_PATH) -+ /* This works for FreeBSD 13+ atleast */ -+ tfd = openat(fd, "", O_EMPTY_PATH|flags); -+ if (tfd < 0) { -+ return errno; -+ } -+ -+ *rfd = tfd; -+ return 0; -+#else -+ return ENOSYS; -+#endif -+} -diff -Naurp a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c ---- a/source3/modules/vfs_default.c 2024-08-02 07:54:09.629892300 -0400 -+++ b/source3/modules/vfs_default.c 2024-08-05 21:25:56.724593000 -0400 -@@ -2688,7 +2688,7 @@ static int vfswrap_fchmod(vfs_handle_struct *handle, f - - static int vfswrap_fchmod(vfs_handle_struct *handle, files_struct *fsp, mode_t mode) - { -- int result; -+ int result, fd, real_fd; - - START_PROFILE(syscall_fchmod); - -@@ -2698,8 +2698,9 @@ static int vfswrap_fchmod(vfs_handle_struct *handle, f - return result; - } - -+ fd = fsp_get_pathref_fd(fsp); -+ - if (fsp->fsp_flags.have_proc_fds) { -- int fd = fsp_get_pathref_fd(fsp); - struct sys_proc_fd_path_buf buf; - - result = chmod(sys_proc_fd_path(fd, &buf), mode); -@@ -2708,6 +2709,17 @@ static int vfswrap_fchmod(vfs_handle_struct *handle, f - return result; - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno; -+ -+ result = fchmod(real_fd, mode); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ END_PROFILE(syscall_fchmod); -+ return result; -+ } -+ - /* - * This is no longer a handle based call. - */ -@@ -2720,7 +2732,7 @@ static int vfswrap_fchown(vfs_handle_struct *handle, f - static int vfswrap_fchown(vfs_handle_struct *handle, files_struct *fsp, uid_t uid, gid_t gid) - { - #ifdef HAVE_FCHOWN -- int result; -+ int result, fd, real_fd; - - START_PROFILE(syscall_fchown); - if (!fsp->fsp_flags.is_pathref) { -@@ -2729,8 +2741,9 @@ static int vfswrap_fchown(vfs_handle_struct *handle, f - return result; - } - -+ fd = fsp_get_pathref_fd(fsp); -+ - if (fsp->fsp_flags.have_proc_fds) { -- int fd = fsp_get_pathref_fd(fsp); - struct sys_proc_fd_path_buf buf; - - result = chown(sys_proc_fd_path(fd, &buf), uid, gid); -@@ -2739,6 +2752,17 @@ static int vfswrap_fchown(vfs_handle_struct *handle, f - return result; - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno; -+ -+ result = fchown(real_fd, uid, gid); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ END_PROFILE(syscall_fchown); -+ return result; -+ } -+ - /* - * This is no longer a handle based call. - */ -@@ -2812,7 +2836,7 @@ static int vfswrap_fntimes(vfs_handle_struct *handle, - files_struct *fsp, - struct smb_file_time *ft) - { -- int result = -1; -+ int result = -1, fd, real_fd; - struct timespec ts[2]; - struct timespec *times = NULL; - -@@ -2857,8 +2881,9 @@ static int vfswrap_fntimes(vfs_handle_struct *handle, - goto out; - } - -+ fd = fsp_get_pathref_fd(fsp); -+ - if (fsp->fsp_flags.have_proc_fds) { -- int fd = fsp_get_pathref_fd(fsp); - struct sys_proc_fd_path_buf buf; - - result = utimensat(AT_FDCWD, -@@ -2869,6 +2894,16 @@ static int vfswrap_fntimes(vfs_handle_struct *handle, - goto out; - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno; -+ -+ result = futimens(real_fd, times); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ goto out; -+ } -+ - /* - * The fd is a pathref (opened with O_PATH) and there isn't fd to - * path translation mechanism. Fallback to path based call. -@@ -3272,6 +3307,7 @@ static int vfswrap_fchflags(vfs_handle_struct *handle, - { - #ifdef HAVE_FCHFLAGS - int fd = fsp_get_pathref_fd(fsp); -+ int real_fd; - - SMB_ASSERT(!fsp_is_alternate_stream(fsp)); - -@@ -3285,6 +3321,16 @@ static int vfswrap_fchflags(vfs_handle_struct *handle, - return chflags(sys_proc_fd_path(fd, &buf), flags); - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno, result; -+ -+ result = fchflags(real_fd, flags); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ return result; -+ } -+ - /* - * This is no longer a handle based call. - */ -@@ -3513,6 +3559,7 @@ static ssize_t vfswrap_fgetxattr(struct vfs_handle_str - size_t size) - { - int fd = fsp_get_pathref_fd(fsp); -+ int real_fd; - - SMB_ASSERT(!fsp_is_alternate_stream(fsp)); - -@@ -3526,6 +3573,16 @@ static ssize_t vfswrap_fgetxattr(struct vfs_handle_str - return getxattr(sys_proc_fd_path(fd, &buf), name, value, size); - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno, result; -+ -+ result = fgetxattr(real_fd, name, value, size); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ return result; -+ } -+ - /* - * This is no longer a handle based call. - */ -@@ -3833,6 +3890,7 @@ static ssize_t vfswrap_flistxattr(struct vfs_handle_st - static ssize_t vfswrap_flistxattr(struct vfs_handle_struct *handle, struct files_struct *fsp, char *list, size_t size) - { - int fd = fsp_get_pathref_fd(fsp); -+ int real_fd; - - SMB_ASSERT(!fsp_is_alternate_stream(fsp)); - -@@ -3846,6 +3904,16 @@ static ssize_t vfswrap_flistxattr(struct vfs_handle_st - return listxattr(sys_proc_fd_path(fd, &buf), list, size); - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno, result; -+ -+ result = flistxattr(real_fd, list, size); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ return result; -+ } -+ - /* - * This is no longer a handle based call. - */ -@@ -3855,6 +3923,7 @@ static int vfswrap_fremovexattr(struct vfs_handle_stru - static int vfswrap_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name) - { - int fd = fsp_get_pathref_fd(fsp); -+ int real_fd; - - SMB_ASSERT(!fsp_is_alternate_stream(fsp)); - -@@ -3868,6 +3937,16 @@ static int vfswrap_fremovexattr(struct vfs_handle_stru - return removexattr(sys_proc_fd_path(fd, &buf), name); - } - -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno, result; -+ -+ result = fremovexattr(real_fd, name); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ return result; -+ } -+ - /* - * This is no longer a handle based call. - */ -@@ -3877,6 +3956,7 @@ static int vfswrap_fsetxattr(struct vfs_handle_struct - static int vfswrap_fsetxattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, const void *value, size_t size, int flags) - { - int fd = fsp_get_pathref_fd(fsp); -+ int real_fd; - - SMB_ASSERT(!fsp_is_alternate_stream(fsp)); - -@@ -3892,6 +3972,16 @@ static int vfswrap_fsetxattr(struct vfs_handle_struct - value, - size, - flags); -+ } -+ -+ if (sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ int saved_errno, result; -+ -+ result = fsetxattr(real_fd, name, value, size, flags); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ return result; - } - - /* -diff -Naurp a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c ---- a/source3/modules/vfs_zfsacl.c 2024-02-02 04:33:51.236489800 -0500 -+++ b/source3/modules/vfs_zfsacl.c 2024-08-05 21:25:56.724941000 -0400 -@@ -234,13 +234,39 @@ static bool zfs_process_smbacl(vfs_handle_struct *hand - - SMB_ASSERT(i == naces); - -- /* store acl */ -- fd = fsp_get_pathref_fd(fsp); -- if (fd == -1) { -- errno = EBADF; -- return false; -+ if (!fsp->fsp_flags.is_pathref) { -+ rv = facl(fsp_get_io_fd(fsp), ACE_SETACL, naces, acebuf); -+ } else { -+ const char *procfd_p = NULL; -+ char buf[PATH_MAX]; -+ -+ fd = fsp_get_pathref_fd(fsp); -+ if (fsp->fsp_flags.have_proc_fds && (procfd_p = sys_proc_fd_path(fd, &buf))) { -+ rv = acl(procfd_p, ACE_SETACL, naces, acebuf); -+ } else { -+ int real_fd; -+ -+ fd = fsp_get_pathref_fd(fsp); -+ -+ /* First try this for versions of FreeBSD 13+ that allows facl() on O_PATH fd's */ -+ rv = facl(fd, ACE_SETACL, naces, acebuf); -+ -+ if (rv < 0 && errno == EBADF && -+ sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ /* Works on FreeBSD 13+ */ -+ int saved_errno; -+ -+ rv = facl(real_fd, ACE_SETACL, naces, acebuf); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ } else { -+ /* Last ditch fallback */ -+ rv = acl(fsp->fsp_name->base_name, ACE_SETACL, naces, acebuf); -+ } -+ } - } -- rv = facl(fd, ACE_SETACL, naces, acebuf); -+ - if (rv != 0) { - if(errno == ENOSYS) { - DEBUG(9, ("acl(ACE_SETACL, %s): Operation is not " -@@ -284,14 +310,39 @@ static int fget_zfsacl(TALLOC_CTX *mem_ctx, - { - int naces, rv; - ace_t *acebuf = NULL; -- int fd; -+ int fd = -1; -+ const char *procfd_p = NULL; -+ char buf[PATH_MAX]; - -- fd = fsp_get_pathref_fd(fsp); -- if (fd == -1) { -- errno = EBADF; -- return -1; -+ if (!fsp->fsp_flags.is_pathref) { -+ naces = facl(fsp_get_io_fd(fsp), ACE_GETACLCNT, 0, NULL); -+ } else { -+ fd = fsp_get_pathref_fd(fsp); -+ -+ if (fsp->fsp_flags.have_proc_fds && (procfd_p = sys_proc_fd_path(fd, &buf))) { -+ /* If we have procfd support, try this first */ -+ naces = acl(procfd_p, ACE_GETACLCNT, 0, NULL); -+ } else { -+ int real_fd; -+ -+ /* First try this for versions of FreeBSD 13+ that allows facl() on O_PATH fd's */ -+ naces = facl(fd, ACE_GETACLCNT, 0, NULL); -+ if (naces < 0 && errno == EBADF && -+ sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ /* Works on FreeBSD 13+ */ -+ int saved_errno; -+ -+ naces = facl(real_fd, ACE_GETACLCNT, 0, NULL); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ } else { -+ /* Last ditch fallback */ -+ naces = acl(fsp->fsp_name->base_name, ACE_GETACLCNT, 0, NULL); -+ } -+ } - } -- naces = facl(fd, ACE_GETACLCNT, 0, NULL); -+ - if (naces == -1) { - int dbg_level = 10; - -@@ -309,7 +360,32 @@ static int fget_zfsacl(TALLOC_CTX *mem_ctx, - return -1; - } - -- rv = facl(fd, ACE_GETACL, naces, acebuf); -+ if (!fsp->fsp_flags.is_pathref) { -+ rv = facl(fsp_get_io_fd(fsp), ACE_GETACL, naces, acebuf); -+ } else { -+ if (procfd_p) { -+ rv = acl(procfd_p, ACE_GETACL, naces, acebuf); -+ } else { -+ int real_fd; -+ -+ /* First try this for versions of FreeBSD that allows facl() on O_PATH fd's */ -+ rv = facl(fd, ACE_GETACL, naces, acebuf); -+ if (rv < 0 && errno == EBADF && -+ sys_open_real_fd_from_pathref_fd(fd, &real_fd, O_RDONLY|O_NONBLOCK) == 0) { -+ /* Works on FreeBSD 13+ */ -+ int saved_errno; -+ -+ rv = facl(real_fd, ACE_GETACL, naces, acebuf); -+ saved_errno = errno; -+ close(real_fd); -+ errno = saved_errno; -+ } else { -+ /* Last ditch fallback */ -+ rv = acl(fsp->fsp_name->base_name, ACE_GETACL, naces, acebuf); -+ } -+ } -+ } -+ - if (rv == -1) { - DBG_DEBUG("acl(ACE_GETACL, %s): %s\n", - fsp_str_dbg(fsp), strerror(errno)); -diff -Naurp a/source3/smbd/open.c b/source3/smbd/open.c ---- a/source3/smbd/open.c 2024-08-02 07:54:09.637892500 -0400 -+++ b/source3/smbd/open.c 2024-08-05 21:27:26.052148000 -0400 -@@ -1169,51 +1169,54 @@ static NTSTATUS reopen_from_fsp(struct files_struct *d - const struct vfs_open_how *how, - bool *p_file_created) - { -- NTSTATUS status; -- int old_fd; -+ NTSTATUS status; -+ int old_fd; - -- if (fsp->fsp_flags.have_proc_fds && -- ((old_fd = fsp_get_pathref_fd(fsp)) != -1)) { -+ old_fd = fsp_get_pathref_fd(fsp); -+ if (old_fd == -1) { -+ int new_fd; -+ if (sys_open_real_fd_from_pathref_fd(old_fd, &new_fd, how->flags) != 0) { -+ if (fsp->fsp_flags.have_proc_fds) { -+ struct sys_proc_fd_path_buf buf; -+ struct smb_filename proc_fname = (struct smb_filename){ -+ .base_name = sys_proc_fd_path(old_fd, &buf), -+ }; -+ mode_t mode = fsp->fsp_name->st.st_ex_mode; - -- struct sys_proc_fd_path_buf buf; -- struct smb_filename proc_fname = (struct smb_filename){ -- .base_name = sys_proc_fd_path(old_fd, &buf), -- }; -- mode_t mode = fsp->fsp_name->st.st_ex_mode; -- int new_fd; -+ SMB_ASSERT(fsp->fsp_flags.is_pathref); - -- SMB_ASSERT(fsp->fsp_flags.is_pathref); -+ if (S_ISLNK(mode)) { -+ return NT_STATUS_STOPPED_ON_SYMLINK; -+ } -+ if (!(S_ISREG(mode) || S_ISDIR(mode))) { -+ return NT_STATUS_IO_REPARSE_TAG_NOT_HANDLED; -+ } - -- if (S_ISLNK(mode)) { -- return NT_STATUS_STOPPED_ON_SYMLINK; -- } -- if (!(S_ISREG(mode) || S_ISDIR(mode))) { -- return NT_STATUS_IO_REPARSE_TAG_NOT_HANDLED; -- } -+ new_fd = SMB_VFS_OPENAT(fsp->conn, -+ fsp->conn->cwd_fsp, -+ &proc_fname, -+ fsp, -+ how); -+ if (new_fd == -1) { -+ status = map_nt_error_from_unix(errno); -+ fd_close(fsp); -+ return status; -+ } - -- fsp->fsp_flags.is_pathref = false; -+ status = fd_close(fsp); -+ if (!NT_STATUS_IS_OK(status)) { -+ return status; -+ } - -- new_fd = SMB_VFS_OPENAT(fsp->conn, -- fsp->conn->cwd_fsp, -- &proc_fname, -- fsp, -- how); -- if (new_fd == -1) { -- status = map_nt_error_from_unix(errno); -- fd_close(fsp); -- return status; -- } -+ fsp_set_fd(fsp, new_fd); -+ fsp->fsp_flags.is_pathref = false; - -- status = fd_close(fsp); -- if (!NT_STATUS_IS_OK(status)) { -- return status; -- } -+ return NT_STATUS_OK; -+ } -+ } -+ } - -- fsp_set_fd(fsp, new_fd); -- return NT_STATUS_OK; -- } -- -- /* -+ /* - * Close the existing pathref fd and set the fsp flag - * is_pathref to false so we get a "normal" fd this time. - */ diff --git a/net/samba422/files/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch b/net/samba422/files/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch deleted file mode 100644 index 62bd8f0a1296..000000000000 --- a/net/samba422/files/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch +++ /dev/null @@ -1,53 +0,0 @@ -# 2024-08-05 -# NOTE: The 'sys_proc_fd_path' function had its signature changed in commit 9f63fad392f3 to drop -# the third 'size_t bufsize' parameter. Upstream changed all of the code except for that -# in vfs_freebsd.c. - -diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c ---- a/source3/modules/vfs_freebsd.c 2024-08-05 20:18:53.656593000 -0400 -+++ b/source3/modules/vfs_freebsd.c 2024-08-05 20:22:54.634979000 -0400 -@@ -197,7 +197,7 @@ static ssize_t extattr_size(struct files_struct *fsp, - const char *path = fsp->fsp_name->base_name; - if (fsp->fsp_flags.have_proc_fds) { - char buf[PATH_MAX]; -- path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ path = sys_proc_fd_path(fd, &buf); - if (path == NULL) { - return -1; - } -@@ -251,7 +251,7 @@ static ssize_t freebsd_extattr_list(struct files_struc - const char *path = fsp->fsp_name->base_name; - if (fsp->fsp_flags.have_proc_fds) { - char buf[PATH_MAX]; -- path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ path = sys_proc_fd_path(fd, &buf); - if (path == NULL) { - return -1; - } -@@ -431,7 +431,7 @@ static ssize_t freebsd_fgetxattr(struct vfs_handle_str - const char *path = fsp->fsp_name->base_name; - if (fsp->fsp_flags.have_proc_fds) { - char buf[PATH_MAX]; -- path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ path = sys_proc_fd_path(fd, &buf); - if (path == NULL) { - return -1; - } -@@ -506,7 +506,7 @@ static int freebsd_fremovexattr(struct vfs_handle_stru - const char *path = fsp->fsp_name->base_name; - if (fsp->fsp_flags.have_proc_fds) { - char buf[PATH_MAX]; -- path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ path = sys_proc_fd_path(fd, &buf); - if (path == NULL) { - return -1; - } -@@ -583,7 +583,7 @@ static int freebsd_fsetxattr(struct vfs_handle_struct - const char *path = fsp->fsp_name->base_name; - if (fsp->fsp_flags.have_proc_fds) { - char buf[PATH_MAX]; -- path = sys_proc_fd_path(fd, buf, sizeof(buf)); -+ path = sys_proc_fd_path(fd, &buf); - if (path == NULL) { - return -1; - } diff --git a/net/samba422/files/README.FreeBSD.in b/net/samba422/files/README.FreeBSD.in index d89cfe72b143..95d349f525af 100644 --- a/net/samba422/files/README.FreeBSD.in +++ b/net/samba422/files/README.FreeBSD.in @@ -1,94 +1,91 @@ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !!! Please read before runing any tools !!! + !!! Please read before running any tools !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Documentation ============= o https://wiki.samba.org/index.php/Samba4/HOWTO o https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO o https://wiki.samba.org/index.php/Samba4/samba-tool/domain/classicupgrade/HOWTO FreeBSD specific information ============================ * Your configuration is in: %%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%% * All the logs are under: %%SAMBA4_LOGDIR%% * All the relevant databases are under: %%SAMBA4_LOCKDIR%% * Provisioning script is: %%PREFIX%%/bin/samba-tool Samba4 provisioning requires file system(s) with the ACLs support. On UFS2 you need to enable POSIX ACLs by adding 'acls' option to the mount flags, on ZFS you need to use NFSv4 ACLs and `zfsacl` VFS module to get provisioning work. There is a hack in the code, that makes provisioning work on UFS2 and in the jails on the price of using USER extattr(2) namespace, which is less secure than SYSTEM namespace, as can be edited not only by root user, but also by the owner of the file. For the provisioning on ZFS you need to use additional parameters to the samba-tool, that would explicitly add `zfsacl` to the default `vfs objects`: # samba-tool domain provision --interactive \ --option="vfs objects"="dfs_samba4 zfsacl" To run this port you need to perform the following steps: --------------------------------------------------------- 0. If you had Samba3 port installed before, please, *take backups* of all the relevant files. That includes 'smb.conf' file and all the content of the '/var/db/samba/' directory. 1a. Create new '%%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%%' file by running: # samba-tool domain provision 1b. Or upgrade from the Samba3 'smb.conf' file by running: # samba-tool domain classicupgrade %%AD_DC%%1c. You will need to specify location of the 'nsupdate' command in the %%AD_DC%%'%%SAMBA4_CONFIG%%' file: %%AD_DC%% %%AD_DC%% nsupdate command = %%PREFIX%%/bin/samba-nsupdate -g %%AD_DC%% 2. Put string 'samba_server_enable="YES"' into your /etc/rc.conf. 3. Make sure that your server doesn't run Samba3, OpenLDAP and named. Stop them, if necessary. 4. Run '%%PREFIX%%/etc/rc.d/samba_server start' or reboot. Please, check archives of samba@lists.samba.org and ask there for help, if necessary: https://lists.samba.org/archive/samba/ Port related bugs can be reported to the FreeBSD Bugzilla or directly to: https://gitlab.com/samba-freebsd/ports/-/issues In case you found a bug which is clearly not related to the port build -process itself, plese file a bug report at: +process itself, please file a bug report at: https://bugzilla.samba.org/ And add me to CC list. You may find those tools helpful: --------------------------------- Microsoft Remote Server Administration Tools (RSAT) for: * Vista: http://www.microsoft.com/en-us/download/details.aspx?id=21090 * Windows 7: http://www.microsoft.com/en-us/download/details.aspx?id=7887 - - -FreeBSD Samba4 port maintainer: Timur I. Bakeyev diff --git a/net/samba422/files/patch-docs-xml_manpages_vfs__freebsd.8.xml b/net/samba422/files/patch-docs-xml_manpages_vfs__freebsd.8.xml new file mode 100644 index 000000000000..b19ecafd4056 --- /dev/null +++ b/net/samba422/files/patch-docs-xml_manpages_vfs__freebsd.8.xml @@ -0,0 +1,172 @@ +--- docs-xml/manpages/vfs_freebsd.8.xml.orig 2025-07-11 10:55:41 UTC ++++ docs-xml/manpages/vfs_freebsd.8.xml +@@ -0,0 +1,169 @@ ++ ++ ++ ++ ++ ++ vfs_freebsd ++ 8 ++ Samba ++ System Administration tools ++ &doc.version; ++ ++ ++ ++ vfs_freebsd ++ FreeBSD-specific VFS functions ++ ++ ++ ++ ++ vfs objects = freebsd ++ ++ ++ ++ ++ DESCRIPTION ++ ++ This VFS module is part of the samba ++ 7 suite. ++ ++ The vfs_freebsd module implements some of the FreeBSD-specific VFS functions. ++ ++ This module is stackable. ++ ++ ++ ++ ++ OPTIONS ++ ++ ++ ++ ++ freebsd:extattr mode=[legacy|compat|secure] ++ ++ This parameter defines how the emulation of the Linux attr(5) extended attributes ++ is performed through the FreeBSD native extattr(9) system calls. ++ ++ Currently the security, system, ++ trusted and user extended attribute(xattr) ++ classes are defined in Linux. Contrary FreeBSD has only USER ++ and SYSTEM extended attribute(extattr) namespaces, so mapping ++ of one set into another isn't straightforward and can be done in different ways. ++ ++ Historically the Samba(7) built-in xattr mapping implementation simply converted ++ system and user xattr into corresponding ++ SYSTEM and USER extattr namespaces, dropping ++ the class prefix name with the separating dot and using attribute name only within the ++ mapped namespace. It also rejected any other xattr classes, like security ++ and trusted as invalid. Such behavior in particular broke AD ++ provisioning on UFS2 file systems as essential security.NTACL ++ xattr was rejected as invalid. ++ ++ This module tries to address this problem and provide secure, where it's possible, ++ way to map Linux xattr into FreeBSD's extattr. ++ ++ When mode is set to the legacy (default) ++ then modified version of built-in mapping is used, where system xattr ++ is mapped into SYSTEM namespace, while secure, trusted ++ and user xattr are all mapped into the USER namespace, dropping class ++ prefixes and mix them all together. This is the way how Samba FreeBSD ports were patched ++ up to the 4.9 version and that created multiple potential security issues. This mode is aimed for ++ the compatibility with the legacy installations only and should be avoided in new setups. ++ ++ The compat mode is mostly designed for the jailed environments, ++ where it's not possible to write extattrs into the secure SYSTEM namespace, so all four ++ classes are mapped into the USER namespace. To preserve information about origin of the ++ extended attribute it is stored together with the class preffix in the class.attribute ++ format. ++ ++ The secure mode is meant for storing extended attributes in a secure ++ manner, so that security, system and trusted ++ are stored in the SYSTEM namespace, which can be modified only by root. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Attributes mapping ++ ++ ++ ++ ++ built-in ++ legacy ++ compat/jail ++ secure ++ ++ ++ ++ ++ user ++ USER; attribute ++ USER; attribute ++ USER; user.attribute ++ USER; user.attribute ++ ++ ++ system ++ SYSTEM; attribute ++ SYSTEM; attribute ++ USER; system.attribute ++ SYSTEM; system.attribute ++ ++ ++ trusted ++ FAIL ++ USER; attribute ++ USER; trusted.attribute ++ SYSTEM; trusted.attribute ++ ++ ++ security ++ FAIL ++ USER; attribute ++ USER; security.attribute ++ SYSTEM; security.attribute ++ ++ ++ ++
++
++ ++ ++ EXAMPLES ++ ++ Use secure method of setting extended attributes on the share: ++ ++ ++ ++ freebsd ++ secure ++ ++ ++ ++ ++ ++ VERSION ++ ++ This man page is part of version &doc.version; of the Samba suite. ++ ++ ++ ++ ++ AUTHOR ++ ++ The original Samba software and related utilities ++ were created by Andrew Tridgell. Samba is now developed ++ by the Samba Team as an Open Source project similar ++ to the way the Linux kernel is developed. ++ ++ This module was written by Timur I. Bakeyev ++ ++ ++ ++
diff --git a/net/samba422/files/patch-docs-xml_wscript__build b/net/samba422/files/patch-docs-xml_wscript__build new file mode 100644 index 000000000000..cc8e028a823c --- /dev/null +++ b/net/samba422/files/patch-docs-xml_wscript__build @@ -0,0 +1,10 @@ +--- docs-xml/wscript_build.orig 2025-02-06 10:31:53 UTC ++++ docs-xml/wscript_build +@@ -88,6 +88,7 @@ vfs_module_manpages = ['vfs_acl_tdb', + 'vfs_extd_audit', + 'vfs_fake_perms', + 'vfs_fileid', ++ 'vfs_freebsd', + 'vfs_fruit', + 'vfs_full_audit', + 'vfs_glusterfs', diff --git a/net/samba422/files/patch-lib_ldb_wscript b/net/samba422/files/patch-lib_ldb_wscript deleted file mode 100644 index e21e426d6cdb..000000000000 --- a/net/samba422/files/patch-lib_ldb_wscript +++ /dev/null @@ -1,61 +0,0 @@ ---- lib/ldb/wscript.orig 2019-07-08 12:47:51 UTC -+++ lib/ldb/wscript -@@ -208,7 +208,7 @@ def build(bld): - if bld.env.standalone_ldb: - if not 'PACKAGE_VERSION' in bld.env: - bld.env.PACKAGE_VERSION = VERSION -- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' -+ bld.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%' - private_library = False - else: - private_library = True -@@ -285,7 +285,6 @@ def build(bld): - pc_files='ldb.pc', - vnum=VERSION, - private_library=private_library, -- manpages='man/ldb.3', - abi_directory='ABI', - abi_match = abi_match) - -@@ -438,7 +437,7 @@ def build(bld): - - LDB_TOOLS='ldbadd ldbsearch ldbdel ldbmodify ldbedit ldbrename' - for t in LDB_TOOLS.split(): -- bld.SAMBA_BINARY(t, 'tools/%s.c' % t, deps='ldb-cmdline ldb', -+ bld.SAMBA_BINARY('samba-%s' % t, 'tools/%s.c' % t, deps='ldb-cmdline ldb', - manpages='man/%s.1' % t) - - # ldbtest doesn't get installed -@@ -450,10 +449,10 @@ def build(bld): - else: - lmdb_deps = '' - # ldbdump doesn't get installed -- bld.SAMBA_BINARY('ldbdump', -+ bld.SAMBA_BINARY('samba-ldbdump', - 'tools/ldbdump.c', - deps='ldb-cmdline ldb' + lmdb_deps, -- install=False) -+ install=True) - - bld.SAMBA_LIBRARY('ldb-cmdline', - source='tools/ldbutil.c tools/cmdline.c', -@@ -498,11 +497,6 @@ def build(bld): - deps='cmocka ldb', - install=False) - -- bld.SAMBA_BINARY('ldb_match_test', -- source='tests/ldb_match_test.c', -- deps='cmocka ldb', -- install=False) -- - bld.SAMBA_BINARY('ldb_key_value_test', - source='tests/ldb_key_value_test.c', - deps='cmocka ldb ldb_tdb_err_map', -@@ -641,7 +635,6 @@ def test(ctx): - 'ldb_tdb_guid_mod_op_test', - 'ldb_tdb_kv_ops_test', - 'ldb_tdb_test', -- 'ldb_match_test', - 'ldb_key_value_test', - # we currently don't run ldb_key_value_sub_txn_tdb_test as it - # tests the nested/sub transaction handling diff --git a/net/samba422/files/patch-lib_util_util_crypt_c b/net/samba422/files/patch-lib_util_util_crypt_c new file mode 100644 index 000000000000..362f9a406d0b --- /dev/null +++ b/net/samba422/files/patch-lib_util_util_crypt_c @@ -0,0 +1,15 @@ +Index: lib/util/util_crypt.c +--- lib/util/util_crypt.c.orig ++++ lib/util/util_crypt.c +@@ -2,7 +2,11 @@ + #include "data_blob.h" + #include "discard.h" + #include ++#ifdef __FreeBSD__ ++#include ++#else + #include ++#endif + #include "util_crypt.h" + + diff --git a/net/samba422/files/patch-lib_util_wscript__build b/net/samba422/files/patch-lib_util_wscript__build deleted file mode 100644 index 5b88f2183bc0..000000000000 --- a/net/samba422/files/patch-lib_util_wscript__build +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/util/wscript_build.orig 2019-05-07 08:38:21 UTC -+++ lib/util/wscript_build -@@ -151,7 +151,7 @@ else: - - bld.SAMBA_LIBRARY('samba-modules', - source='modules.c', -- deps='samba-errors samba-util', -+ deps='samba-errors samba-util samba-debug', - local_include=False, - private_library=True) - diff --git a/net/samba422/files/patch-python_samba_join.py b/net/samba422/files/patch-python_samba_join.py new file mode 100644 index 000000000000..79f32802c4f4 --- /dev/null +++ b/net/samba422/files/patch-python_samba_join.py @@ -0,0 +1,11 @@ +--- python/samba/join.py.orig 2025-02-06 10:31:54 UTC ++++ python/samba/join.py +@@ -917,7 +917,7 @@ class DCJoinContext(object): + secrets_ldb = Ldb(ctx.paths.secrets, session_info=system_session(), lp=ctx.lp) + + provision_fill(ctx.local_samdb, secrets_ldb, +- ctx.logger, ctx.names, ctx.paths, ++ ctx.logger, ctx.names, ctx.targetdir, ctx.paths, + dom_for_fun_level=ctx.behavior_version, + samdb_fill=FILL_SUBDOMAIN, + machinepass=ctx.acct_pass, serverrole="active directory domain controller", diff --git a/net/samba422/files/patch-python_samba_provision_____init____.py b/net/samba422/files/patch-python_samba_provision_____init____.py new file mode 100644 index 000000000000..c5aa0c96f265 --- /dev/null +++ b/net/samba422/files/patch-python_samba_provision_____init____.py @@ -0,0 +1,71 @@ +--- python/samba/provision/__init__.py.orig 2025-02-06 10:31:54 UTC ++++ python/samba/provision/__init__.py +@@ -1671,19 +1671,25 @@ def setsysvolacl(samdb, sysvol, uid, gid, domainsid, d + s3conf = s3param.get_context() + s3conf.load(lp.configfile) + +- file = tempfile.NamedTemporaryFile(dir=os.path.abspath(sysvol)) ++ sysvol_dir = os.path.abspath(sysvol) ++ ++ set_simple_acl = smbd.set_simple_acl ++ if smbd.has_nfsv4_acls(sysvol_dir): ++ set_simple_acl = smbd.set_simple_nfsv4_acl ++ ++ file = tempfile.NamedTemporaryFile(dir=sysvol_dir) + try: + try: +- smbd.set_simple_acl(file.name, 0o755, system_session_unix(), gid) ++ set_simple_acl(file.name, 0o755, system_session_unix(), gid) + except OSError: +- if not smbd.have_posix_acls(): ++ if not smbd.have_posix_acls() and not smbd.have_nfsv4_acls(): + # This clue is only strictly correct for RPM and + # Debian-like Linux systems, but hopefully other users + # will get enough clue from it. +- raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires. " ++ raise ProvisioningError("Samba was compiled without the ACL support that s3fs requires. " + "Try installing libacl1-dev or libacl-devel, then re-run configure and make.") + +- raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. " ++ raise ProvisioningError("Your filesystem or build does not support ACLs, which s3fs requires. " + "Try the mounting the filesystem with the 'acl' option.") + try: + smbd.chown(file.name, uid, gid, system_session_unix()) +@@ -1906,7 +1912,7 @@ def interface_ips_v6(lp): + return ret + + +-def provision_fill(samdb, secrets_ldb, logger, names, paths, ++def provision_fill(samdb, secrets_ldb, logger, names, paths, targetdir, + schema=None, + samdb_fill=FILL_FULL, + hostip=None, hostip6=None, +@@ -1965,6 +1971,9 @@ def provision_fill(samdb, secrets_ldb, logger, names, + samdb.transaction_commit() + + if serverrole == "active directory domain controller": ++ if targetdir and smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(targetdir): ++ smbd.set_nfsv4_defaults() ++ + # Continue setting up sysvol for GPO. This appears to require being + # outside a transaction. + if not skip_sysvolacl: +@@ -2341,6 +2350,9 @@ def provision(logger, session_info, smbconf=None, + if not os.path.isdir(paths.netlogon): + os.makedirs(paths.netlogon, 0o755) + ++ if smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(paths.sysvol): ++ smbd.set_nfsv4_defaults() ++ + if adminpass is None: + adminpass = samba.generate_random_password(12, 32) + adminpass_generated = True +@@ -2350,7 +2362,7 @@ def provision(logger, session_info, smbconf=None, + adminpass_generated = False + + if samdb_fill == FILL_FULL: +- provision_fill(samdb, secrets_ldb, logger, names, paths, ++ provision_fill(samdb, secrets_ldb, logger, names, paths, targetdir, + schema=schema, samdb_fill=samdb_fill, + hostip=hostip, hostip6=hostip6, + next_rid=next_rid, dc_rid=dc_rid, adminpass=adminpass, diff --git a/net/samba422/files/patch-python_samba_tdb__util.py b/net/samba422/files/patch-python_samba_tdb__util.py deleted file mode 100644 index ffbe35f0016b..000000000000 --- a/net/samba422/files/patch-python_samba_tdb__util.py +++ /dev/null @@ -1,15 +0,0 @@ ---- python/samba/tdb_util.py.orig 2025-02-17 11:38:24.136379000 +0100 -+++ python/samba/tdb_util.py 2025-02-17 11:38:44.171612000 +0100 -@@ -37,9 +37,10 @@ - raise FileNotFoundError(2, "could not find tdbbackup tool: " - "is tdb-tools installed?") - -- tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1] - if readonly: -- tdbbackup_cmd.append("-r") -+ tdbbackup_cmd = [toolpath, "-r", "-s", ".copy.tdb", file1] -+ else: -+ tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1] - - status = subprocess.check_call(tdbbackup_cmd, close_fds=True, shell=False) - diff --git a/net/samba422/files/patch-source3_lib_sysacls.c b/net/samba422/files/patch-source3_lib_sysacls.c new file mode 100644 index 000000000000..dda39ee2828e --- /dev/null +++ b/net/samba422/files/patch-source3_lib_sysacls.c @@ -0,0 +1,19 @@ +--- source3/lib/sysacls.c.orig 2025-02-06 10:31:54 UTC ++++ source3/lib/sysacls.c +@@ -38,6 +38,16 @@ + #include "modules/vfs_aixacl.h" + #endif + ++/* ++ * NFSv4 ACL's should be understood and a first class citizen. Work ++ * needs to be done in librpc/idl/smb_acl.idl for this to occur. ++ */ ++#if defined(HAVE_LIBSUNACL) && defined(FREEBSD) ++#if 0 ++#include "modules/nfs4_acls.h" ++#endif ++#endif ++ + #undef DBGC_CLASS + #define DBGC_CLASS DBGC_ACLS + diff --git a/net/samba422/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch b/net/samba422/files/patch-source3_modules_vfs__freebsd.c similarity index 66% rename from net/samba422/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch rename to net/samba422/files/patch-source3_modules_vfs__freebsd.c index f2dd827cabba..9d3e41041117 100644 --- a/net/samba422/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch +++ b/net/samba422/files/patch-source3_modules_vfs__freebsd.c @@ -1,921 +1,702 @@ -From f07e384150e53b18c3ea298f9a1ea588fb89e19b Mon Sep 17 00:00:00 2001 -From: "Timur I. Bakeyev" -Date: Sat, 29 May 2021 03:58:01 +0200 -Subject: [PATCH 27/28] Add VFS module vfs_freebsd that implements FreeBSD - specific wrappers to some VFS functions. - -At the moment that is configurable mapping between Linux xattrs and -FreeBSD extended attributes. - -Signed-off-by: Timur I. Bakeyev ---- - docs-xml/manpages/vfs_freebsd.8.xml | 169 ++++++ - docs-xml/wscript_build | 1 - source3/modules/vfs_freebsd.c | 699 ++++++++++++++++++++++++++ - source3/modules/wscript_build | 7 - 4 files changed, 876 insertions(+) - -diff -Naurp a/docs-xml/manpages/vfs_freebsd.8.xml b/docs-xml/manpages/vfs_freebsd.8.xml ---- a/docs-xml/manpages/vfs_freebsd.8.xml 1969-12-31 19:00:00.000000000 -0500 -+++ b/docs-xml/manpages/vfs_freebsd.8.xml 2024-08-05 13:57:36.246690000 -0400 -@@ -0,0 +1,169 @@ -+ -+ -+ -+ -+ -+ vfs_freebsd -+ 8 -+ Samba -+ System Administration tools -+ &doc.version; -+ -+ -+ -+ vfs_freebsd -+ FreeBSD-specific VFS functions -+ -+ -+ -+ -+ vfs objects = freebsd -+ -+ -+ -+ -+ DESCRIPTION -+ -+ This VFS module is part of the samba -+ 7 suite. -+ -+ The vfs_freebsd module implements some of the FreeBSD-specific VFS functions. -+ -+ This module is stackable. -+ -+ -+ -+ -+ OPTIONS -+ -+ -+ -+ -+ freebsd:extattr mode=[legacy|compat|secure] -+ -+ This parameter defines how the emulation of the Linux attr(5) extended attributes -+ is performed through the FreeBSD native extattr(9) system calls. -+ -+ Currently the security, system, -+ trusted and user extended attribute(xattr) -+ classes are defined in Linux. Contrary FreeBSD has only USER -+ and SYSTEM extended attribute(extattr) namespaces, so mapping -+ of one set into another isn't straightforward and can be done in different ways. -+ -+ Historically the Samba(7) built-in xattr mapping implementation simply converted -+ system and user xattr into corresponding -+ SYSTEM and USER extattr namespaces, dropping -+ the class prefix name with the separating dot and using attribute name only within the -+ mapped namespace. It also rejected any other xattr classes, like security -+ and trusted as invalid. Such behavior in particular broke AD -+ provisioning on UFS2 file systems as essential security.NTACL -+ xattr was rejected as invalid. -+ -+ This module tries to address this problem and provide secure, where it's possible, -+ way to map Linux xattr into FreeBSD's extattr. -+ -+ When mode is set to the legacy (default) -+ then modified version of built-in mapping is used, where system xattr -+ is mapped into SYSTEM namespace, while secure, trusted -+ and user xattr are all mapped into the USER namespace, dropping class -+ prefixes and mix them all together. This is the way how Samba FreeBSD ports were patched -+ up to the 4.9 version and that created multiple potential security issues. This mode is aimed for -+ the compatibility with the legacy installations only and should be avoided in new setups. -+ -+ The compat mode is mostly designed for the jailed environments, -+ where it's not possible to write extattrs into the secure SYSTEM namespace, so all four -+ classes are mapped into the USER namespace. To preserve information about origin of the -+ extended attribute it is stored together with the class preffix in the class.attribute -+ format. -+ -+ The secure mode is meant for storing extended attributes in a secure -+ manner, so that security, system and trusted -+ are stored in the SYSTEM namespace, which can be modified only by root. -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Attributes mapping -+ -+ -+ -+ -+ built-in -+ legacy -+ compat/jail -+ secure -+ -+ -+ -+ -+ user -+ USER; attribute -+ USER; attribute -+ USER; user.attribute -+ USER; user.attribute -+ -+ -+ system -+ SYSTEM; attribute -+ SYSTEM; attribute -+ USER; system.attribute -+ SYSTEM; system.attribute -+ -+ -+ trusted -+ FAIL -+ USER; attribute -+ USER; trusted.attribute -+ SYSTEM; trusted.attribute -+ -+ -+ security -+ FAIL -+ USER; attribute -+ USER; security.attribute -+ SYSTEM; security.attribute -+ -+ -+ -+
-+
-+ -+ -+ EXAMPLES -+ -+ Use secure method of setting extended attributes on the share: -+ -+ -+ -+ freebsd -+ secure -+ -+ -+ -+ -+ -+ VERSION -+ -+ This man page is part of version &doc.version; of the Samba suite. -+ -+ -+ -+ -+ AUTHOR -+ -+ The original Samba software and related utilities -+ were created by Andrew Tridgell. Samba is now developed -+ by the Samba Team as an Open Source project similar -+ to the way the Linux kernel is developed. -+ -+ This module was written by Timur I. Bakeyev -+ -+ -+ -+
-diff -Naurp a/docs-xml/wscript_build b/docs-xml/wscript_build ---- a/docs-xml/wscript_build 2024-08-02 07:54:09.597892000 -0400 -+++ b/docs-xml/wscript_build 2024-08-05 13:57:36.246975000 -0400 -@@ -87,6 +87,7 @@ vfs_module_manpages = ['vfs_acl_tdb', - 'vfs_extd_audit', - 'vfs_fake_perms', - 'vfs_fileid', -+ 'vfs_freebsd', - 'vfs_fruit', - 'vfs_full_audit', - 'vfs_glusterfs', -diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c ---- a/source3/modules/vfs_freebsd.c 1969-12-31 19:00:00.000000000 -0500 -+++ b/source3/modules/vfs_freebsd.c 2024-08-05 13:57:36.247358000 -0400 +--- source3/modules/vfs_freebsd.c.orig 2025-07-11 10:55:17 UTC ++++ source3/modules/vfs_freebsd.c @@ -0,0 +1,699 @@ +/* + * This module implements VFS calls specific to FreeBSD + * + * Copyright (C) Timur I. Bakeyev, 2018 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +#include "includes.h" + +#include "lib/util/tevent_unix.h" +#include "lib/util/tevent_ntstatus.h" +#include "system/filesys.h" +#include "smbd/smbd.h" + +#include + +static int vfs_freebsd_debug_level = DBGC_VFS; + +#undef DBGC_CLASS +#define DBGC_CLASS vfs_freebsd_debug_level + +#ifndef EXTATTR_MAXNAMELEN +#define EXTATTR_MAXNAMELEN UINT8_MAX +#endif + +#define EXTATTR_NAMESPACE(NS) EXTATTR_NAMESPACE_ ## NS, \ + EXTATTR_NAMESPACE_ ## NS ## _STRING ".", \ + .data.len = (sizeof(EXTATTR_NAMESPACE_ ## NS ## _STRING ".") - 1) + +#define EXTATTR_EMPTY 0x00 +#define EXTATTR_USER 0x01 +#define EXTATTR_SYSTEM 0x02 +#define EXTATTR_SECURITY 0x03 +#define EXTATTR_TRUSTED 0x04 + +enum extattr_mode { + FREEBSD_EXTATTR_SECURE, + FREEBSD_EXTATTR_COMPAT, + FREEBSD_EXTATTR_LEGACY +}; + +struct freebsd_handle_data { + enum extattr_mode extattr_mode; +}; + +typedef struct { + int namespace; + char name[EXTATTR_MAXNAMELEN+1]; + union { + uint16_t len; + uint16_t flags; + } data; +} extattr_attr; + +static const struct enum_list extattr_mode_param[] = { + { FREEBSD_EXTATTR_SECURE, "secure" }, /* */ + { FREEBSD_EXTATTR_COMPAT, "compat" }, /* */ + { FREEBSD_EXTATTR_LEGACY, "legacy" }, /* */ + { -1, NULL } +}; + +/* XXX: This order doesn't match namespace ids order! */ +static extattr_attr extattr[] = { + { EXTATTR_NAMESPACE(EMPTY) }, + { EXTATTR_NAMESPACE(SYSTEM) }, + { EXTATTR_NAMESPACE(USER) }, +}; + + +static bool freebsd_in_jail(void) { + int val = 0; + size_t val_len = sizeof(val); + + if((sysctlbyname("security.jail.jailed", &val, &val_len, NULL, 0) != -1) && val == 1) { + return true; + } + return false; +} + + +static uint16_t freebsd_map_attrname(const char *name) +{ + if(name == NULL || name[0] == '\0') { + return EXTATTR_EMPTY; + } + + switch(name[0]) { + case 'u': + if(strncmp(name, "user.", 5) == 0) + return EXTATTR_USER; + break; + case 't': + if(strncmp(name, "trusted.", 8) == 0) + return EXTATTR_TRUSTED; + break; + case 's': + /* name[1] could be any character, including '\0' */ + switch(name[1]) { + case 'e': + if(strncmp(name, "security.", 9) == 0) + return EXTATTR_SECURITY; + break; + case 'y': + if(strncmp(name, "system.", 7) == 0) + return EXTATTR_SYSTEM; + break; + } + break; + } + return EXTATTR_USER; +} + + +/* security, system, trusted or user */ +static extattr_attr* freebsd_map_xattr(enum extattr_mode extattr_mode, const char *name, extattr_attr *attr) +{ + int attrnamespace = EXTATTR_NAMESPACE_EMPTY; + const char *p, *attrname = name; + + if(name == NULL || name[0] == '\0') { + return NULL; + } + + if(attr == NULL) { + return NULL; + } + + uint16_t flags = freebsd_map_attrname(name); + + switch(flags) { + case EXTATTR_SECURITY: + case EXTATTR_TRUSTED: + case EXTATTR_SYSTEM: + attrnamespace = (extattr_mode == FREEBSD_EXTATTR_SECURE) ? + EXTATTR_NAMESPACE_SYSTEM : + EXTATTR_NAMESPACE_USER; + break; + case EXTATTR_USER: + attrnamespace = EXTATTR_NAMESPACE_USER; + break; + default: + /* Default to "user" namespace if nothing else was specified */ + attrnamespace = EXTATTR_NAMESPACE_USER; + flags = EXTATTR_USER; + break; + } + + if (extattr_mode == FREEBSD_EXTATTR_LEGACY) { + switch(flags) { + case EXTATTR_SECURITY: + attrname = name + 9; + break; + case EXTATTR_TRUSTED: + attrname = name + 8; + break; + case EXTATTR_SYSTEM: + attrname = name + 7; + break; + case EXTATTR_USER: + attrname = name + 5; + break; + default: + attrname = ((p=strchr(name, '.')) != NULL) ? p + 1 : name; + break; + } + } + + attr->namespace = attrnamespace; + attr->data.flags = flags; + strlcpy(attr->name, attrname, EXTATTR_MAXNAMELEN + 1); + + return attr; +} + + +static ssize_t extattr_size(struct files_struct *fsp, extattr_attr *attr) +{ + ssize_t result; + + SMB_ASSERT(!fsp_is_alternate_stream(fsp)); + + int fd = fsp_get_pathref_fd(fsp); + + if (fsp->fsp_flags.is_pathref) { + const char *path = fsp->fsp_name->base_name; + if (fsp->fsp_flags.have_proc_fds) { + char buf[PATH_MAX]; -+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); ++ path = sys_proc_fd_path(fd, &buf); + if (path == NULL) { + return -1; + } + } + /* + * This is no longer a handle based call. + */ + return extattr_get_file(path, attr->namespace, attr->name, NULL, 0); + } + else { + return extattr_get_fd(fd, attr->namespace, attr->name, NULL, 0); + } +} + +/* + * The list of names is returned as an unordered array of NULL-terminated + * character strings (attribute names are separated by NULL characters), + * like this: + * user.name1\0system.name1\0user.name2\0 + * + * Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using + * extended attributes, might return a list like this: + * system.posix_acl_access\0system.posix_acl_default\0 + */ +/* + * The extattr_list_file() returns a list of attributes present in the + * requested namespace. Each list entry consists of a single byte containing + * the length of the attribute name, followed by the attribute name. The + * attribute name is not terminated by ASCII 0 (nul). +*/ +static ssize_t freebsd_extattr_list(struct files_struct *fsp, enum extattr_mode extattr_mode, char *list, size_t size) +{ + ssize_t list_size, total_size = 0; + char *p, *q, *list_end; + int len; + /* + Ignore all but user namespace when we are not root or in jail + See: https://bugzilla.samba.org/show_bug.cgi?id=10247 + */ + bool as_root = (geteuid() == 0); + + int ns = (extattr_mode == FREEBSD_EXTATTR_SECURE && as_root) ? 1 : 2; + + int fd = fsp_get_pathref_fd(fsp); + + /* Iterate through extattr(2) namespaces */ + for(; ns < ARRAY_SIZE(extattr); ns++) { + list_size = -1; + + if (fsp->fsp_flags.is_pathref) { + const char *path = fsp->fsp_name->base_name; + if (fsp->fsp_flags.have_proc_fds) { + char buf[PATH_MAX]; -+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); ++ path = sys_proc_fd_path(fd, &buf); + if (path == NULL) { + return -1; + } + } + /* + * This is no longer a handle based call. + */ + list_size = extattr_list_file(path, extattr[ns].namespace, list, size); + } + else { + list_size = extattr_list_fd(fd, extattr[ns].namespace, list, size); + } + /* Some error happend. Errno should be set by the previous call */ + if(list_size < 0) + return -1; + /* No attributes in this namespace */ + if(list_size == 0) + continue; + /* + Call with an empty buffer may be used to calculate + necessary buffer size. + */ + if(list == NULL) { + /* + XXX: Unfortunately, we can't say, how many attributes were + returned, so here is the potential problem with the emulation. + */ + if(extattr_mode == FREEBSD_EXTATTR_LEGACY) { + /* + Take the worse case of one char attribute names - + two bytes per name plus one more for sanity. + */ + total_size += list_size + (list_size/2 + 1)*extattr[ns].data.len; + } + else { + total_size += list_size; + } + continue; + } + + if(extattr_mode == FREEBSD_EXTATTR_LEGACY) { + /* Count necessary offset to fit namespace prefixes */ + int extra_len = 0; + uint16_t flags; + list_end = list + list_size; + for(list_size = 0, p = q = list; p < list_end; p += len) { + len = p[0] + 1; + (void)strlcpy(q, p + 1, len); + flags = freebsd_map_attrname(q); + /* Skip secure attributes for non-root user */ + if(extattr_mode != FREEBSD_EXTATTR_SECURE && !as_root && flags > EXTATTR_USER) { + continue; + } + if(flags <= EXTATTR_USER) { + /* Don't count trailing '\0' */ + extra_len += extattr[ns].data.len; + } + list_size += len; + q += len; + } + total_size += list_size + extra_len; + /* Buffer is too small to fit the results */ + if(total_size > size) { + errno = ERANGE; + return -1; + } + /* Shift results backwards, so we can prepend prefixes */ + list_end = list + extra_len; + p = (char*)memmove(list_end, list, list_size); + /* + We enter the loop with `p` pointing to the shifted list and + `extra_len` having the total margin between `list` and `p` + */ + for(list_end += list_size; p < list_end; p += len) { + len = strlen(p) + 1; + flags = freebsd_map_attrname(p); + if(flags <= EXTATTR_USER) { + /* Add namespace prefix */ + (void)strncpy(list, extattr[ns].name, extattr[ns].data.len); + list += extattr[ns].data.len; + } + /* Append attribute name */ + (void)strlcpy(list, p, len); + list += len; + } + } + else { + /* Convert UCSD strings into nul-terminated strings */ + for(list_end = list + list_size; list < list_end; list += len) { + len = list[0] + 1; + (void)strlcpy(list, list + 1, len); + } + total_size += list_size; + } + } + return total_size; +} + +/* +static ssize_t freebsd_fgetxattr_size(struct vfs_handle_struct *handle, + struct files_struct *fsp, + const char *name) +{ + struct freebsd_handle_data *data; + extattr_attr attr; + + SMB_ASSERT(!fsp_is_alternate_stream(fsp)); + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + return extattr_size(fsp, &attr); +} +*/ + +/* VFS entries */ +static ssize_t freebsd_fgetxattr(struct vfs_handle_struct *handle, + struct files_struct *fsp, + const char *name, + void *value, + size_t size) +{ +#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + ssize_t res; + int fd; + + SMB_ASSERT(!fsp_is_alternate_stream(fsp)); + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + /* + * The BSD implementation has a nasty habit of silently truncating + * the returned value to the size of the buffer, so we have to check + * that the buffer is large enough to fit the returned value. + */ + if((res=extattr_size(fsp, &attr)) < 0) { + return -1; + } + + if (size == 0) { + return res; + } + else if (res > size) { + errno = ERANGE; + return -1; + } + + fd = fsp_get_pathref_fd(fsp); + + if (fsp->fsp_flags.is_pathref) { + const char *path = fsp->fsp_name->base_name; + if (fsp->fsp_flags.have_proc_fds) { + char buf[PATH_MAX]; -+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); ++ path = sys_proc_fd_path(fd, &buf); + if (path == NULL) { + return -1; + } + } + /* + * This is no longer a handle based call. + */ + return extattr_get_file(path, attr.namespace, attr.name, value, size); + } + else { + return extattr_get_fd(fd, attr.namespace, attr.name, value, size); + } + return -1; +#else + errno = ENOSYS; + return -1; +#endif +} + + +static ssize_t freebsd_flistxattr(struct vfs_handle_struct *handle, + struct files_struct *fsp, + char *list, + size_t size) +{ +#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + + SMB_ASSERT(!fsp_is_alternate_stream(fsp)); + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + return freebsd_extattr_list(fsp, data->extattr_mode, list, size); +#else + errno = ENOSYS; + return -1; +#endif +} + + +static int freebsd_fremovexattr(struct vfs_handle_struct *handle, + struct files_struct *fsp, + const char *name) +{ +#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + int fd; + + SMB_ASSERT(!fsp_is_alternate_stream(fsp)); + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + fd = fsp_get_pathref_fd(fsp); + + if (fsp->fsp_flags.is_pathref) { + const char *path = fsp->fsp_name->base_name; + if (fsp->fsp_flags.have_proc_fds) { + char buf[PATH_MAX]; -+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); ++ path = sys_proc_fd_path(fd, &buf); + if (path == NULL) { + return -1; + } + } + /* + * This is no longer a handle based call. + */ + return extattr_delete_file(path, attr.namespace, attr.name); + } + else { + return extattr_delete_fd(fd, attr.namespace, attr.name); + } + return -1; +#else + errno = ENOSYS; + return -1; +#endif +} + + +static int freebsd_fsetxattr(struct vfs_handle_struct *handle, + struct files_struct *fsp, + const char *name, + const void *value, + size_t size, + int flags) +{ +#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + ssize_t res; + int fd; + + SMB_ASSERT(!fsp_is_alternate_stream(fsp)); + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + if (flags) { + /* Check attribute existence */ + res = extattr_size(fsp, &attr); + if (res < 0) { + /* REPLACE attribute, that doesn't exist */ + if ((flags & XATTR_REPLACE) && errno == ENOATTR) { + errno = ENOATTR; + return -1; + } + /* Ignore other errors */ + } + else { + /* CREATE attribute, that already exists */ + if (flags & XATTR_CREATE) { + errno = EEXIST; + return -1; + } + } + } + + fd = fsp_get_pathref_fd(fsp); + + if (fsp->fsp_flags.is_pathref) { + const char *path = fsp->fsp_name->base_name; + if (fsp->fsp_flags.have_proc_fds) { + char buf[PATH_MAX]; -+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); ++ path = sys_proc_fd_path(fd, &buf); + if (path == NULL) { + return -1; + } + } + /* + * This is no longer a handle based call. + */ + res = extattr_set_file(path, attr.namespace, attr.name, value, size); + } + else { + res = extattr_set_fd(fd, attr.namespace, attr.name, value, size); + } + return (res >= 0) ? 0 : -1; +#else + errno = ENOSYS; + return -1; +#endif +} + + +static int freebsd_connect(struct vfs_handle_struct *handle, + const char *service, + const char *user) +{ + struct freebsd_handle_data *data; + int enumval, saved_errno; + + int ret = SMB_VFS_NEXT_CONNECT(handle, service, user); + + if (ret < 0) { + return ret; + } + + data = talloc_zero(handle->conn, struct freebsd_handle_data); + if (!data) { + saved_errno = errno; + SMB_VFS_NEXT_DISCONNECT(handle); + DEBUG(0, ("talloc_zero() failed\n")); + errno = saved_errno; + return -1; + } + + enumval = lp_parm_enum(SNUM(handle->conn), "freebsd", + "extattr mode", extattr_mode_param, FREEBSD_EXTATTR_LEGACY); + if (enumval == -1) { + saved_errno = errno; + SMB_VFS_NEXT_DISCONNECT(handle); + DBG_DEBUG("value for freebsd: 'extattr mode' is unknown\n"); + errno = saved_errno; + return -1; + } + + if(freebsd_in_jail()) { + enumval = FREEBSD_EXTATTR_COMPAT; + DBG_WARNING("running in jail, enforcing 'compat' mode\n"); + } + + data->extattr_mode = (enum extattr_mode)enumval; + + SMB_VFS_HANDLE_SET_DATA(handle, data, NULL, + struct freebsd_handle_data, + return -1); + + DBG_DEBUG("connect to service[%s] with '%s' extattr mode\n", + service, extattr_mode_param[data->extattr_mode].name); + + return 0; +} + + +static void freebsd_disconnect(vfs_handle_struct *handle) +{ + SMB_VFS_NEXT_DISCONNECT(handle); +} + +/* VFS operations structure */ + +struct vfs_fn_pointers freebsd_fns = { + /* Disk operations */ + .connect_fn = freebsd_connect, + .disconnect_fn = freebsd_disconnect, + + /* EA operations. */ + .getxattrat_send_fn = vfs_not_implemented_getxattrat_send, + .getxattrat_recv_fn = vfs_not_implemented_getxattrat_recv, + .fgetxattr_fn = freebsd_fgetxattr, + .flistxattr_fn = freebsd_flistxattr, + .fremovexattr_fn = freebsd_fremovexattr, + .fsetxattr_fn = freebsd_fsetxattr, +}; + +static_decl_vfs; +NTSTATUS vfs_freebsd_init(TALLOC_CTX *ctx) +{ + NTSTATUS ret; + + ret = smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "freebsd", + &freebsd_fns); + + if (!NT_STATUS_IS_OK(ret)) { + return ret; + } + + vfs_freebsd_debug_level = debug_add_class("freebsd"); + if (vfs_freebsd_debug_level == -1) { + vfs_freebsd_debug_level = DBGC_VFS; + DEBUG(0, ("vfs_freebsd: Couldn't register custom debugging class!\n")); + } else { + DEBUG(10, ("vfs_freebsd: Debug class number of 'fileid': %d\n", vfs_freebsd_debug_level)); + } + + return ret; +} -diff -Naurp a/source3/modules/wscript_build b/source3/modules/wscript_build ---- a/source3/modules/wscript_build 2024-02-02 04:33:51.236489800 -0500 -+++ b/source3/modules/wscript_build 2024-08-05 13:57:36.247658000 -0400 -@@ -631,6 +631,13 @@ bld.SAMBA3_MODULE('vfs_delay_inject', - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'), - install=False) - -+bld.SAMBA3_MODULE('vfs_freebsd', -+ subsystem='vfs', -+ source='vfs_freebsd.c', -+ init_function='', -+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_freebsd'), -+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_freebsd')) -+ - bld.SAMBA3_MODULE('vfs_widelinks', - subsystem='vfs', - source='vfs_widelinks.c', diff --git a/net/samba422/files/patch-source3_modules_vfs__zfsacl.c b/net/samba422/files/patch-source3_modules_vfs__zfsacl.c new file mode 100644 index 000000000000..d96450f19316 --- /dev/null +++ b/net/samba422/files/patch-source3_modules_vfs__zfsacl.c @@ -0,0 +1,182 @@ +--- source3/modules/vfs_zfsacl.c 2024-07-29 11:03:15.390630700 +0200 ++++ source3/modules/vfs_zfsacl.c 2025-01-07 15:56:32.048227000 +0100 +@@ -169,6 +169,7 @@ + bool must_add_empty_ace = false; + struct zfsacl_config_data *config = NULL; + int fd; ++ struct sys_proc_fd_path_buf buf; + + SMB_VFS_HANDLE_GET_DATA(handle, config, + struct zfsacl_config_data, +@@ -235,24 +236,52 @@ + SMB_ASSERT(i == naces); + + /* store acl */ +- fd = fsp_get_pathref_fd(fsp); +- if (fd == -1) { ++ ++ if (!fsp->fsp_flags.is_pathref) { ++ fd = fsp_get_io_fd(fsp); ++ ++ rv = facl(fd, ACE_SETACL, naces, acebuf); ++ if (rv != 0) { ++ DEBUG(8, ("zfs_process_smbacl(%s): Not PATHREF: facl(ACE_SETACL, %d): %s\n", ++ fsp_str_dbg(fsp), naces, ++ strerror(errno))); ++ return false; ++ } ++ DEBUG(10, ("zfs_process_smbacl(%s): Not PATHREF: facl(ACE_SETACL, %d) -> %d\n", ++ fsp_str_dbg(fsp), naces, ++ rv)); ++ ++ } else if (fsp->fsp_flags.have_proc_fds) { ++ fd = fsp_get_pathref_fd(fsp); ++ if (fd == -1) { ++ DEBUG(8, ("zfs_process_smbacl(%s): PATHREF(proc_fd): fsp_get_pathref_fd=-1: %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); + errno = EBADF; + return false; +- } +- rv = facl(fd, ACE_SETACL, naces, acebuf); +- if (rv != 0) { +- if(errno == ENOSYS) { +- DEBUG(9, ("acl(ACE_SETACL, %s): Operation is not " +- "supported on the filesystem where the file " +- "resides\n", fsp_str_dbg(fsp))); +- } else { +- DEBUG(9, ("acl(ACE_SETACL, %s): %s\n", fsp_str_dbg(fsp), +- strerror(errno))); +- } ++ } ++ rv = acl(sys_proc_fd_path(fd, &buf), ACE_SETACL, naces, acebuf); ++ if (rv != 0) { ++ DEBUG(8, ("zfs_process_smbacl(%s): acl(ACE_SETACL, %d): %s\n", ++ fsp_str_dbg(fsp), naces, ++ strerror(errno))); + return false; ++ } ++ DEBUG(10, ("zfs_process_smbacl(%s): PATHREF(proc_fd): acl(ACE_SETACL, %d) -> %d\n", ++ fsp_str_dbg(fsp), naces, ++ rv)); ++ } else { ++ rv = acl(fsp->fsp_name->base_name, ACE_SETACL, naces, acebuf); ++ if (rv != 0) { ++ DEBUG(8, ("zfs_process_smbacl(%s): PATHREF(base_name): acl(ACE_SETACL, %d): %s\n", ++ fsp_str_dbg(fsp), naces, ++ strerror(errno))); ++ return false; ++ } ++ DEBUG(10, ("zfs_process_smbacl(%s): PATHREF(base_name): facl(ACE_SETACL, %d) -> %d\n", ++ fsp_str_dbg(fsp), naces, ++ rv)); + } +- ++ + return True; + } + +@@ -282,25 +311,46 @@ + struct files_struct *fsp, + ace_t **outbuf) + { +- int naces, rv; ++ int naces, rv = -1, fd = -1; + ace_t *acebuf = NULL; +- int fd; ++ struct sys_proc_fd_path_buf buf; + +- fd = fsp_get_pathref_fd(fsp); +- if (fd == -1) { ++ ++ if (!fsp->fsp_flags.is_pathref) { ++ fd = fsp_get_io_fd(fsp); ++ if (fd == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): Not PATHREF: fsp_get_io_fd=-1: %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); + errno = EBADF; + return -1; +- } +- naces = facl(fd, ACE_GETACLCNT, 0, NULL); +- if (naces == -1) { +- int dbg_level = 10; +- +- if (errno == ENOSYS) { +- dbg_level = 1; +- } +- DEBUG(dbg_level, ("facl(ACE_GETACLCNT, %s): %s\n", ++ } ++ naces = facl(fd, ACE_GETACLCNT, 0, NULL); ++ if (naces == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): Not PATHREF: facl(ACE_GETACLCNT): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } ++ } else if (fsp->fsp_flags.have_proc_fds) { ++ fd = fsp_get_pathref_fd(fsp); ++ if (fd == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(proc_fd): fsp_get_pathref_fd=-1: %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ errno = EBADF; ++ return -1; ++ } ++ naces = acl(sys_proc_fd_path(fd, &buf), ACE_GETACLCNT, 0, NULL); ++ if (naces == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(proc_fd): acl(ACE_GETACLCNT): %s\n", + fsp_str_dbg(fsp), strerror(errno))); +- return naces; ++ return -1; ++ } ++ } else { ++ naces = acl(fsp->fsp_name->base_name, ACE_GETACLCNT, 0, NULL); ++ if (naces == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(base_name): acl(ACE_GETACLCNT): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } + } + + acebuf = talloc_size(mem_ctx, sizeof(ace_t)*naces); +@@ -309,15 +359,37 @@ + return -1; + } + +- rv = facl(fd, ACE_GETACL, naces, acebuf); +- if (rv == -1) { +- DBG_DEBUG("acl(ACE_GETACL, %s): %s\n", +- fsp_str_dbg(fsp), strerror(errno)); ++ if (!fsp->fsp_flags.is_pathref) { ++ rv = facl(fd, ACE_GETACL, naces, acebuf); ++ if (rv == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): Not PATHREF: facl(ACE_GETACL): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); + return -1; ++ } ++ DEBUG(10, ("fget_zfsacl(%s): Not PATHREF: facl(ACE_GETACL) -> %d entries\n", ++ fsp_str_dbg(fsp), rv)); ++ } else if (fsp->fsp_flags.have_proc_fds) { ++ rv = acl(sys_proc_fd_path(fd, &buf), ACE_GETACL, naces, acebuf); ++ if (rv == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(proc_fd): acl(ACE_GETACL): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } ++ DEBUG(10, ("fget_zfsacl(%s): PATHREF(proc_fd): acl(ACE_GETACL) -> %d entries\n", ++ fsp_str_dbg(fsp), rv)); ++ } else { ++ rv = acl(fsp->fsp_name->base_name, ACE_GETACL, naces, acebuf); ++ if (rv == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(base_name): acl(ACE_GETACL): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } ++ DEBUG(10, ("fget_zfsacl(%s): PATHREF(base_name): acl(ACE_GETACL) -> %d entries\n", ++ fsp_str_dbg(fsp), rv)); + } +- ++ + *outbuf = acebuf; +- return naces; ++ return rv; + } + + static NTSTATUS zfsacl_fget_nt_acl(struct vfs_handle_struct *handle, diff --git a/net/samba422/files/patch-source3_modules_wscript__build b/net/samba422/files/patch-source3_modules_wscript__build new file mode 100644 index 000000000000..5c008e39e5b8 --- /dev/null +++ b/net/samba422/files/patch-source3_modules_wscript__build @@ -0,0 +1,16 @@ +--- source3/modules/wscript_build.orig 2025-02-06 10:31:54 UTC ++++ source3/modules/wscript_build +@@ -641,6 +641,13 @@ bld.SAMBA3_MODULE('vfs_delay_inject', + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'), + install=False) + ++bld.SAMBA3_MODULE('vfs_freebsd', ++ subsystem='vfs', ++ source='vfs_freebsd.c', ++ init_function='', ++ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_freebsd'), ++ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_freebsd')) ++ + bld.SAMBA3_MODULE('vfs_widelinks', + subsystem='vfs', + source='vfs_widelinks.c', diff --git a/net/samba422/files/patch-source3_param_loadparm.c b/net/samba422/files/patch-source3_param_loadparm.c new file mode 100644 index 000000000000..9d74f59bfd2a --- /dev/null +++ b/net/samba422/files/patch-source3_param_loadparm.c @@ -0,0 +1,32 @@ +--- source3/param/loadparm.c.orig 2025-02-06 10:31:54 UTC ++++ source3/param/loadparm.c +@@ -2890,9 +2890,29 @@ static void init_locals(void) + } else { + if (lp_parm_const_string(-1, "xattr_tdb", "file", NULL)) { + lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr xattr_tdb"); ++ /* ++ * By default, the samba sysvol is located in the statedir. Provisioning will fail in setntacl ++ * unless we have zfacl enabled. Unfortunately, at this point the smb.conf has not been generated. ++ * This workaround is freebsd-specific. ++ */ ++#if defined(_PC_ACL_EXTENDED) ++ } else if (pathconf(lp_state_directory(), _PC_ACL_EXTENDED) == 1) { ++ lp_do_parameter(-1, "vfs objects", "dfs_samba4 freebsd"); ++#endif ++#if defined(_PC_ACL_NFS4) ++ } else if (pathconf(lp_state_directory(), _PC_ACL_NFS4) == 1) { ++ lp_do_parameter(-1, "vfs objects", "dfs_samba4 zfsacl"); ++#endif + } else if (lp_parm_const_string(-1, "posix", "eadb", NULL)) { + lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr posix_eadb"); + } else { ++ /* ++ * This should only set dfs_samba4 and leave acl_xattr ++ * to be set later (or zfsacl). The only reason the decision ++ * can't be made here to load acl_xattr or zfsacl is ++ * that we don't have access to what the target ++ * directory is. ++ */ + lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr"); + } + } diff --git a/net/samba422/files/patch-source3_smbd_pysmbd.c b/net/samba422/files/patch-source3_smbd_pysmbd.c new file mode 100644 index 000000000000..2f0c06720168 --- /dev/null +++ b/net/samba422/files/patch-source3_smbd_pysmbd.c @@ -0,0 +1,230 @@ +--- source3/smbd/pysmbd.c.orig 2025-02-20 12:58:50 UTC ++++ source3/smbd/pysmbd.c +@@ -507,6 +507,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_CTX *mem_ctx, + return acl; + } + ++static SMB_ACL_T make_simple_nfsv4_acl(TALLOC_CTX *mem_ctx, ++ gid_t gid, ++ mode_t chmod_mode) ++{ ++ /* ++ * This function needs to create an NFSv4 ACL. Currently, the only way ++ * to do so is to use the operating system interface, or to use the ++ * functions in source3/modules/nfs4_acls.c. These seems ugly and ++ * hacky. NFSv4 ACL's should be a first class citizen and ++ * librpc/idl/smb_acl.idl should be modified accordingly. ++ */ ++ return NULL; ++} ++ + /* + set a simple ACL on a file, as a test + */ +@@ -579,7 +593,85 @@ static PyObject *py_smbd_set_simple_acl(PyObject *self + Py_RETURN_NONE; + } + ++ + /* ++ set a simple NFSv4 ACL on a file, as a test ++ */ ++static PyObject *py_smbd_set_simple_nfsv4_acl(PyObject *self, PyObject *args, PyObject *kwargs) ++{ ++ const char * const kwnames[] = { ++ "fname", ++ "mode", ++ "session_info", ++ "gid", ++ "service", ++ NULL ++ }; ++ char *fname, *service = NULL; ++ PyObject *py_session = Py_None; ++ struct auth_session_info *session_info = NULL; ++ int ret; ++ int mode, gid = -1; ++ SMB_ACL_T acl; ++ TALLOC_CTX *frame; ++ connection_struct *conn; ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "siO|iz", ++ discard_const_p(char *, kwnames), ++ &fname, ++ &mode, ++ &py_session, ++ &gid, ++ &service)) ++ return NULL; ++ ++ if (!py_check_dcerpc_type(py_session, ++ "samba.dcerpc.auth", ++ "session_info")) { ++ return NULL; ++ } ++ session_info = pytalloc_get_type(py_session, ++ struct auth_session_info); ++ if (session_info == NULL) { ++ PyErr_Format(PyExc_TypeError, ++ "Expected auth_session_info for session_info argument got %s", ++ pytalloc_get_name(py_session)); ++ return NULL; ++ } ++ ++ frame = talloc_stackframe(); ++ ++ acl = make_simple_nfsv4_acl(frame, gid, mode); ++ if (acl == NULL) { ++ TALLOC_FREE(frame); ++ Py_RETURN_NONE; ++ } ++ ++ conn = get_conn_tos(service, session_info); ++ if (!conn) { ++ TALLOC_FREE(frame); ++ Py_RETURN_NONE; ++ } ++ ++ /* ++ * SMB_ACL_TYPE_ACCESS -> ACL_TYPE_ACCESS -> Not valid for NFSv4 ACL ++ */ ++ ret = 0; ++ ++ /* ret = set_sys_acl_conn(fname, SMB_ACL_TYPE_ACCESS, acl, conn); */ ++ ++ if (ret != 0) { ++ TALLOC_FREE(frame); ++ errno = ret; ++ return PyErr_SetFromErrno(PyExc_OSError); ++ } ++ ++ TALLOC_FREE(frame); ++ ++ Py_RETURN_NONE; ++} ++ ++/* + chown a file + */ + static PyObject *py_smbd_chown(PyObject *self, PyObject *args, PyObject *kwargs) +@@ -767,7 +859,7 @@ static PyObject *py_smbd_unlink(PyObject *self, PyObje + } + + /* +- check if we have ACL support ++ check if we have POSIX.1e ACL support + */ + static PyObject *py_smbd_have_posix_acls(PyObject *self, + PyObject *Py_UNUSED(ignored)) +@@ -779,7 +871,84 @@ static PyObject *py_smbd_have_posix_acls(PyObject *sel + #endif + } + ++static PyObject *py_smbd_has_posix_acls(PyObject *self, PyObject *args, PyObject *kwargs) ++{ ++ const char * const kwnames[] = { "path", NULL }; ++ char *path = NULL; ++ TALLOC_CTX *frame; ++ struct statfs fs; ++ int ret = false; ++ ++ frame = talloc_stackframe(); ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", ++ discard_const_p(char *, kwnames), &path)) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (statfs(path, &fs) != 0) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (fs.f_flags & MNT_ACLS) ++ ret = true; ++ ++ TALLOC_FREE(frame); ++ return PyBool_FromLong(ret); ++} ++ + /* ++ check if we have NFSv4 ACL support ++ */ ++static PyObject *py_smbd_have_nfsv4_acls(PyObject *self) ++{ ++#ifdef HAVE_LIBSUNACL ++ return PyBool_FromLong(true); ++#else ++ return PyBool_FromLong(false); ++#endif ++} ++ ++static PyObject *py_smbd_has_nfsv4_acls(PyObject *self, PyObject *args, PyObject *kwargs) ++{ ++ const char * const kwnames[] = { "path", NULL }; ++ char *path = NULL; ++ TALLOC_CTX *frame; ++ struct statfs fs; ++ int ret = false; ++ ++ frame = talloc_stackframe(); ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", ++ discard_const_p(char *, kwnames), &path)) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (statfs(path, &fs) != 0) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (fs.f_flags & MNT_NFS4ACLS) ++ ret = true; ++ ++ TALLOC_FREE(frame); ++ return PyBool_FromLong(ret); ++} ++ ++ ++static PyObject *py_smbd_set_nfsv4_defaults(PyObject *self) ++{ ++ /* ++ * It is really be done in source3/param/loadparm.c ++ */ ++ Py_RETURN_NONE; ++} ++ ++/* + set the NT ACL on a file + */ + static PyObject *py_smbd_set_nt_acl(PyObject *self, PyObject *args, PyObject *kwargs) +@@ -1284,8 +1453,26 @@ static PyMethodDef py_smbd_methods[] = { + { "have_posix_acls", + (PyCFunction)py_smbd_have_posix_acls, METH_NOARGS, + NULL }, ++ { "has_posix_acls", ++ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_has_posix_acls), ++ METH_VARARGS|METH_KEYWORDS, ++ NULL }, ++ { "have_nfsv4_acls", ++ (PyCFunction)py_smbd_have_nfsv4_acls, METH_NOARGS, ++ NULL }, ++ { "has_nfsv4_acls", ++ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_has_nfsv4_acls), ++ METH_VARARGS|METH_KEYWORDS, ++ NULL }, ++ { "set_nfsv4_defaults", ++ (PyCFunction)py_smbd_set_nfsv4_defaults, METH_NOARGS, ++ NULL }, + { "set_simple_acl", + PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_simple_acl), ++ METH_VARARGS|METH_KEYWORDS, ++ NULL }, ++ { "set_simple_nfsv4_acl", ++ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_simple_nfsv4_acl), + METH_VARARGS|METH_KEYWORDS, + NULL }, + { "set_nt_acl", diff --git a/net/samba422/files/patch-source3_wscript__build b/net/samba422/files/patch-source3_wscript__build deleted file mode 100644 index ff35a17327dd..000000000000 --- a/net/samba422/files/patch-source3_wscript__build +++ /dev/null @@ -1,44 +0,0 @@ ---- source3/wscript_build.orig 2020-07-09 13:33:56 UTC -+++ source3/wscript_build -@@ -235,11 +235,9 @@ bld.SAMBA3_SUBSYSTEM('SMBREGISTRY', - talloc - replace - util_reg -- samba-util -- samba-security - errors3 - dbwrap -- samba3-util -+ samba3util - ''') - - # Do not link against this use 'smbconf' -@@ -482,7 +480,7 @@ bld.SAMBA3_LIBRARY('secrets3', - - bld.SAMBA3_LIBRARY('smbldap', - source='lib/smbldap.c', -- deps='ldap lber samba-util smbconf', -+ deps='ldap lber samba3util smbd_shim samba-debug smbconf', - enabled=bld.CONFIG_SET("HAVE_LDAP"), - private_library=False, - abi_directory='lib/ABI', -@@ -1151,8 +1151,8 @@ bld.SAMBA3_BINARY('smbspool_krb5_wrapper', - enabled=bld.CONFIG_SET('HAVE_CUPS')) - - bld.SAMBA3_BINARY('smbspool_argv_wrapper', -- source='script/tests/smbspool_argv_wrapper.c', -- for_selftest=True) -+ source='script/tests/smbspool_argv_wrapper.c', -+ for_selftest=True) - - bld.SAMBA3_BINARY('smbconftort', - source='lib/smbconf/testsuite.c', -@@ -1199,7 +1199,7 @@ bld.SAMBA3_BINARY('vlp', - talloc - smbconf - ''', -- for_selftest=True) -+ install=True) - - - pyrpc_util = bld.pyembed_libname('pyrpc_util') diff --git a/net/samba422/pkg-plist b/net/samba422/pkg-plist index 7bec423fb4bc..72885f7e8fea 100644 --- a/net/samba422/pkg-plist +++ b/net/samba422/pkg-plist @@ -1,469 +1,495 @@ bin/cifsdd bin/dbwrap_tool bin/dumpmscat bin/gentest bin/locktest bin/masktest bin/mdsearch bin/mvxattr bin/ndrdump bin/net bin/nmblookup bin/ntlm_auth bin/oLschema2ldif bin/pdbedit bin/profiles bin/regdiff bin/regpatch bin/regshell bin/regtree bin/rpcclient bin/samba-log-parser bin/samba-regedit %%ADS%%bin/samba-tool bin/sharesec bin/smbcacls bin/smbclient bin/smbcontrol bin/smbcquotas bin/smbget bin/smbpasswd bin/smbspool bin/smbstatus bin/smbtar bin/smbtree bin/testparm bin/vfstest -bin/vlp bin/wbinfo bin/wspsearch sbin/eventlogadm sbin/nmbd sbin/smbd sbin/winbindd +include/samba4/credentials.h +include/samba4/dcerpc.h +%%AD_DC%%include/samba4/dcerpc_server.h +include/samba4/gen_ndr/ndr_samr_c.h +include/samba4/ldb.h +include/samba4/ldb_errors.h +include/samba4/ldb_handlers.h +include/samba4/ldb_module.h +include/samba4/ldb_version.h +include/samba4/param.h +include/samba4/policy.h +include/samba4/util/tevent_ntstatus.h +include/samba4/util/tevent_unix.h +include/samba4/util/tevent_werror.h include/samba4/charset.h include/samba4/core/doserr.h include/samba4/core/error.h include/samba4/core/hresult.h include/samba4/core/ntstatus_gen.h include/samba4/core/ntstatus.h include/samba4/core/werror_gen.h include/samba4/core/werror.h -include/samba4/credentials.h -include/samba4/dcerpc.h -include/samba4/dcesrv_core.h %%LDAP%%include/samba4/smb_ldap.h %%LDAP%%include/samba4/smbldap.h +include/samba4/dcesrv_core.h include/samba4/domain_credentials.h include/samba4/gen_ndr/atsvc.h include/samba4/gen_ndr/auth.h include/samba4/gen_ndr/claims.h include/samba4/gen_ndr/dcerpc.h include/samba4/gen_ndr/drsblobs.h include/samba4/gen_ndr/drsuapi.h include/samba4/gen_ndr/krb5pac.h include/samba4/gen_ndr/lsa.h include/samba4/gen_ndr/misc.h include/samba4/gen_ndr/nbt.h include/samba4/gen_ndr/ndr_atsvc.h include/samba4/gen_ndr/ndr_dcerpc.h include/samba4/gen_ndr/ndr_drsblobs.h include/samba4/gen_ndr/ndr_drsuapi.h include/samba4/gen_ndr/ndr_krb5pac.h include/samba4/gen_ndr/ndr_misc.h include/samba4/gen_ndr/ndr_nbt.h -include/samba4/gen_ndr/ndr_samr_c.h include/samba4/gen_ndr/ndr_samr.h include/samba4/gen_ndr/ndr_svcctl_c.h include/samba4/gen_ndr/ndr_svcctl.h include/samba4/gen_ndr/netlogon.h include/samba4/gen_ndr/samr.h include/samba4/gen_ndr/security.h include/samba4/gen_ndr/server_id.h include/samba4/gen_ndr/svcctl.h include/samba4/ldb_wrap.h include/samba4/libsmbclient.h include/samba4/lookup_sid.h include/samba4/machine_sid.h include/samba4/ndr.h include/samba4/ndr/ndr_dcerpc.h include/samba4/ndr/ndr_drsblobs.h include/samba4/ndr/ndr_drsuapi.h include/samba4/ndr/ndr_krb5pac.h include/samba4/ndr/ndr_nbt.h include/samba4/ndr/ndr_svcctl.h include/samba4/netapi.h -include/samba4/param.h include/samba4/passdb.h include/samba4/rpc_common.h include/samba4/samba/session.h include/samba4/samba/version.h include/samba4/share.h include/samba4/smb2_lease_struct.h include/samba4/smb3posix.h include/samba4/smbconf.h include/samba4/tdr.h include/samba4/tsocket_internal.h include/samba4/tsocket.h include/samba4/util_ldb.h include/samba4/util/attr.h include/samba4/util/blocking.h include/samba4/util/data_blob.h include/samba4/util/debug.h include/samba4/util/discard.h include/samba4/util/fault.h include/samba4/util/genrand.h include/samba4/util/idtree_random.h include/samba4/util/idtree.h include/samba4/util/signal.h include/samba4/util/substitute.h -include/samba4/util/tevent_ntstatus.h -include/samba4/util/tevent_unix.h -include/samba4/util/tevent_werror.h include/samba4/util/tfork.h include/samba4/util/time.h include/samba4/wbclient.h @dir include/samba4/util @dir include/samba4/samba @dir include/samba4/ndr @dir include/samba4/gen_ndr @dir include/samba4/core @dir include/samba4 -%%SAMBA4_LIBDIR%%/libdcerpc-binding.so -%%SAMBA4_LIBDIR%%/libdcerpc-binding.so.0 %%SAMBA4_LIBDIR%%/libdcerpc-samr.so %%SAMBA4_LIBDIR%%/libdcerpc-samr.so.0 -%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so -%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so.0 +%%AD_DC%%%%SAMBA4_LIBDIR%%/libdcerpc-server.so +%%AD_DC%%%%SAMBA4_LIBDIR%%/libdcerpc-server.so.0 %%SAMBA4_LIBDIR%%/libdcerpc.so %%SAMBA4_LIBDIR%%/libdcerpc.so.0 +%%SAMBA4_LIBDIR%%/libldb.so +%%SAMBA4_LIBDIR%%/libldb.so.2 +%%SAMBA4_LIBDIR%%/libsamba-credentials.so +%%SAMBA4_LIBDIR%%/libsamba-credentials.so.1 +%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so +%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so.0 +%%SAMBA4_LIBDIR%%/libsamba-policy.so +%%SAMBA4_LIBDIR%%/libsamba-policy.so.0 +%%SAMBA4_LIBDIR%%/libsamdb.so +%%SAMBA4_LIBDIR%%/libsamdb.so.0 +%%SAMBA4_LIBDIR%%/libtevent-util.so +%%SAMBA4_LIBDIR%%/libtevent-util.so.0 +%%SAMBA4_LIBDIR%%/libdcerpc-binding.so +%%SAMBA4_LIBDIR%%/libdcerpc-binding.so.0 +%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so +%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so.0 %%SAMBA4_LIBDIR%%/libndr-krb5pac.so %%SAMBA4_LIBDIR%%/libndr-krb5pac.so.0 %%SAMBA4_LIBDIR%%/libndr-nbt.so %%SAMBA4_LIBDIR%%/libndr-nbt.so.0 %%SAMBA4_LIBDIR%%/libndr-standard.so %%SAMBA4_LIBDIR%%/libndr-standard.so.0 %%SAMBA4_LIBDIR%%/libndr.so -%%SAMBA4_LIBDIR%%/libndr.so.4 +%%SAMBA4_LIBDIR%%/libndr.so.6 %%SAMBA4_LIBDIR%%/libnetapi.so %%SAMBA4_LIBDIR%%/libnetapi.so.1 -%%SAMBA4_LIBDIR%%/libsamba-credentials.so -%%SAMBA4_LIBDIR%%/libsamba-credentials.so.1 %%SAMBA4_LIBDIR%%/libsamba-errors.so %%SAMBA4_LIBDIR%%/libsamba-errors.so.1 -%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so -%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so.0 %%SAMBA4_LIBDIR%%/libsamba-passdb.so %%SAMBA4_LIBDIR%%/libsamba-passdb.so.0 %%SAMBA4_LIBDIR%%/libsamba-util.so %%SAMBA4_LIBDIR%%/libsamba-util.so.0 -%%SAMBA4_LIBDIR%%/libsamdb.so -%%SAMBA4_LIBDIR%%/libsamdb.so.0 %%SAMBA4_LIBDIR%%/libsmbclient.so %%SAMBA4_LIBDIR%%/libsmbclient.so.0 %%SAMBA4_LIBDIR%%/libsmbconf.so %%SAMBA4_LIBDIR%%/libsmbconf.so.0 %%LDAP%%%%SAMBA4_LIBDIR%%/libsmbldap.so %%LDAP%%%%SAMBA4_LIBDIR%%/libsmbldap.so.2 -%%SAMBA4_LIBDIR%%/libtevent-util.so -%%SAMBA4_LIBDIR%%/libtevent-util.so.0 %%SAMBA4_LIBDIR%%/libwbclient.so %%SAMBA4_LIBDIR%%/libwbclient.so.0 lib/nss_winbind.so.1 lib/nss_wins.so.1 lib/pam_winbind.so +%%NO_AD_DC%%lib/samba4/modules/ldb/ldap.so %%CUPS%%libexec/samba/smbspool_krb5_wrapper libexec/samba/rpcd_classic libexec/samba/rpcd_epmapper libexec/samba/rpcd_fsrvp libexec/samba/rpcd_lsad libexec/samba/rpcd_mdssvc libexec/samba/rpcd_spoolss libexec/samba/rpcd_winreg libexec/samba/samba-bgqd libexec/samba/samba-dcerpcd %%LDAP%%%%SAMBA4_LIBDIR%%/private/libsmbldaphelper-private-samba.so %%SAMBA4_LIBDIR%%/private/libaddns-private-samba.so %%SAMBA4_LIBDIR%%/private/libads-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libasn1-private-samba.so %%SAMBA4_LIBDIR%%/private/libasn1util-private-samba.so %%SAMBA4_LIBDIR%%/private/libauth-private-samba.so %%SAMBA4_LIBDIR%%/private/libauth-unix-token-private-samba.so %%SAMBA4_LIBDIR%%/private/libauth4-private-samba.so %%SAMBA4_LIBDIR%%/private/libauthkrb5-private-samba.so %%SAMBA4_LIBDIR%%/private/libCHARSET3-private-samba.so %%SAMBA4_LIBDIR%%/private/libcli-cldap-private-samba.so %%SAMBA4_LIBDIR%%/private/libcli-ldap-common-private-samba.so %%SAMBA4_LIBDIR%%/private/libcli-ldap-private-samba.so %%SAMBA4_LIBDIR%%/private/libcli-nbt-private-samba.so %%SAMBA4_LIBDIR%%/private/libcli-smb-common-private-samba.so %%SAMBA4_LIBDIR%%/private/libcli-spoolss-private-samba.so %%SAMBA4_LIBDIR%%/private/libcliauth-private-samba.so %%SAMBA4_LIBDIR%%/private/libclidns-private-samba.so %%SAMBA4_LIBDIR%%/private/libcluster-private-samba.so %%SAMBA4_LIBDIR%%/private/libcmdline-contexts-private-samba.so %%SAMBA4_LIBDIR%%/private/libcmdline-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libcom-err-private-samba.so %%SAMBA4_LIBDIR%%/private/libcommon-auth-private-samba.so %%SAMBA4_LIBDIR%%/private/libdbwrap-private-samba.so +%%SAMBA4_LIBDIR%%/private/libutil-crypt-private-samba.so %%SAMBA4_LIBDIR%%/private/libdcerpc-pkt-auth-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-private-samba.so %%SAMBA4_LIBDIR%%/private/libdcerpc-samba-private-samba.so %%SAMBA4_LIBDIR%%/private/libdcerpc-samba4-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-samr-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-server-private-samba.so %%SAMBA4_LIBDIR%%/private/libdnsserver-common-private-samba.so %%SAMBA4_LIBDIR%%/private/libdsdb-module-private-samba.so %%SAMBA4_LIBDIR%%/private/libevents-private-samba.so %%SAMBA4_LIBDIR%%/private/libflag-mapping-private-samba.so %%SAMBA4_LIBDIR%%/private/libgenrand-private-samba.so %%SAMBA4_LIBDIR%%/private/libgensec-private-samba.so %%SAMBA4_LIBDIR%%/private/libgpext-private-samba.so %%SAMBA4_LIBDIR%%/private/libgpo-private-samba.so %%SAMBA4_LIBDIR%%/private/libgse-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libgss-preauth-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libgssapi-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhcrypto-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhdb-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libheimbase-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libheimntlm-private-samba.so %%SAMBA4_LIBDIR%%/private/libhttp-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhx509-private-samba.so %%SAMBA4_LIBDIR%%/private/libidmap-private-samba.so %%SAMBA4_LIBDIR%%/private/libinterfaces-private-samba.so %%SAMBA4_LIBDIR%%/private/libiov-buf-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libkdc-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libkrb5-private-samba.so %%SAMBA4_LIBDIR%%/private/libkrb5samba-private-samba.so %%SAMBA4_LIBDIR%%/private/libldbsamba-private-samba.so %%SAMBA4_LIBDIR%%/private/liblibcli-lsa3-private-samba.so %%SAMBA4_LIBDIR%%/private/liblibcli-netlogon3-private-samba.so %%SAMBA4_LIBDIR%%/private/liblibsmb-private-samba.so %%SAMBA4_LIBDIR%%/private/libLIBWBCLIENT-OLD-private-samba.so %%SAMBA4_LIBDIR%%/private/libmessages-dgm-private-samba.so %%SAMBA4_LIBDIR%%/private/libmessages-util-private-samba.so %%SAMBA4_LIBDIR%%/private/libMESSAGING-private-samba.so %%SAMBA4_LIBDIR%%/private/libMESSAGING-SEND-private-samba.so %%SAMBA4_LIBDIR%%/private/libmscat-private-samba.so %%SAMBA4_LIBDIR%%/private/libmsghdr-private-samba.so %%SAMBA4_LIBDIR%%/private/libmsrpc3-private-samba.so %%SAMBA4_LIBDIR%%/private/libndr-samba-private-samba.so %%SAMBA4_LIBDIR%%/private/libndr-samba4-private-samba.so %%SAMBA4_LIBDIR%%/private/libnet-keytab-private-samba.so %%SAMBA4_LIBDIR%%/private/libnetif-private-samba.so %%SAMBA4_LIBDIR%%/private/libnpa-tstream-private-samba.so %%SAMBA4_LIBDIR%%/private/libnss-info-private-samba.so %%SAMBA4_LIBDIR%%/private/libposix-eadb-private-samba.so %%SAMBA4_LIBDIR%%/private/libprinter-driver-private-samba.so %%SAMBA4_LIBDIR%%/private/libprinting-migrate-private-samba.so %%SAMBA4_LIBDIR%%/private/libREG-FULL-private-samba.so %%SAMBA4_LIBDIR%%/private/libregistry-private-samba.so %%SAMBA4_LIBDIR%%/private/libreplace-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libroken-private-samba.so %%SAMBA4_LIBDIR%%/private/libRPC-SERVER-LOOP-private-samba.so %%SAMBA4_LIBDIR%%/private/libRPC-WORKER-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-credentials-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-hostconfig-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamba-modules-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-net-join%%PYTHON_TAG%%-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-net-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-policy-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamba-security-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamba-sockets-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamba3-util-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamdb-common-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamdb-private-samba.so %%SAMBA4_LIBDIR%%/private/libsecrets3-private-samba.so %%SAMBA4_LIBDIR%%/private/libserver-id-db-private-samba.so %%SAMBA4_LIBDIR%%/private/libserver-role-private-samba.so %%SAMBA4_LIBDIR%%/private/libshares-private-samba.so %%SAMBA4_LIBDIR%%/private/libsmb-transport-private-samba.so %%SAMBA4_LIBDIR%%/private/libsmbclient-raw-private-samba.so %%SAMBA4_LIBDIR%%/private/libsmbd-base-private-samba.so %%SAMBA4_LIBDIR%%/private/libsmbd-shim-private-samba.so %%SAMBA4_LIBDIR%%/private/libsmbpasswdparser-private-samba.so %%SAMBA4_LIBDIR%%/private/libsocket-blocking-private-samba.so %%SAMBA4_LIBDIR%%/private/libstable-sort-private-samba.so %%SAMBA4_LIBDIR%%/private/libsys-rw-private-samba.so %%SAMBA4_LIBDIR%%/private/libtalloc-report-printf-private-samba.so %%SAMBA4_LIBDIR%%/private/libtalloc-report-private-samba.so +%%SAMBA4_LIBDIR%%/private/libtevent-util-private-samba.so %%SAMBA4_LIBDIR%%/private/libtdb-wrap-private-samba.so %%SAMBA4_LIBDIR%%/private/libtime-basic-private-samba.so %%SAMBA4_LIBDIR%%/private/libtorture-private-samba.so -%%SAMBA4_LIBDIR%%/private/libtrusts-util-private-samba.so %%SAMBA4_LIBDIR%%/private/libutil-reg-private-samba.so %%SAMBA4_LIBDIR%%/private/libutil-setid-private-samba.so %%SAMBA4_LIBDIR%%/private/libutil-tdb-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libwind-private-samba.so %%SAMBA4_LIBDIR%%/private/libxattr-tdb-private-samba.so @dir %%SAMBA4_LIBDIR%%/private @dir %%SAMBA4_LIBDIR%% -%%PKGCONFIGDIR%%/dcerpc.pc -%%PKGCONFIGDIR%%/dcerpc_samr.pc %%PKGCONFIGDIR%%/ndr.pc %%PKGCONFIGDIR%%/ndr_krb5pac.pc %%PKGCONFIGDIR%%/ndr_nbt.pc %%PKGCONFIGDIR%%/ndr_standard.pc %%PKGCONFIGDIR%%/netapi.pc -%%PKGCONFIGDIR%%/samba-credentials.pc -%%PKGCONFIGDIR%%/samba-hostconfig.pc %%PKGCONFIGDIR%%/samba-util.pc -%%PKGCONFIGDIR%%/samdb.pc %%PKGCONFIGDIR%%/smbclient.pc %%PKGCONFIGDIR%%/wbclient.pc +%%PKGCONFIGDIR%%/dcerpc.pc +%%PKGCONFIGDIR%%/dcerpc_samr.pc +%%AD_DC%%%%PKGCONFIGDIR%%/dcerpc_server.pc +%%PKGCONFIGDIR%%/ldb.pc +%%PKGCONFIGDIR%%/samba-credentials.pc +%%PKGCONFIGDIR%%/samba-hostconfig.pc +%%PKGCONFIGDIR%%/samba-policy.pc +%%PKGCONFIGDIR%%/samdb.pc @comment Setup files @comment Man pages %%MANPAGES%%share/man/man1/dbwrap_tool.1.gz %%MANPAGES%%share/man/man1/gentest.1.gz %%MANPAGES%%share/man/man1/locktest.1.gz %%MANPAGES%%share/man/man1/log2pcap.1.gz %%MANPAGES%%share/man/man1/masktest.1.gz %%MANPAGES%%share/man/man1/mdsearch.1.gz %%MANPAGES%%share/man/man1/mvxattr.1.gz %%MANPAGES%%share/man/man1/ndrdump.1.gz %%MANPAGES%%share/man/man1/nmblookup.1.gz %%MANPAGES%%share/man/man1/ntlm_auth.1.gz %%MANPAGES%%share/man/man1/oLschema2ldif.1.gz %%MANPAGES%%share/man/man1/profiles.1.gz %%MANPAGES%%share/man/man1/regdiff.1.gz %%MANPAGES%%share/man/man1/regpatch.1.gz %%MANPAGES%%share/man/man1/regshell.1.gz %%MANPAGES%%share/man/man1/regtree.1.gz %%MANPAGES%%share/man/man1/rpcclient.1.gz %%MANPAGES%%share/man/man1/samba-log-parser.1.gz %%MANPAGES%%share/man/man1/sharesec.1.gz %%MANPAGES%%share/man/man1/smbcacls.1.gz %%MANPAGES%%share/man/man1/smbclient.1.gz %%MANPAGES%%share/man/man1/smbcontrol.1.gz %%MANPAGES%%share/man/man1/smbcquotas.1.gz %%MANPAGES%%share/man/man1/smbget.1.gz %%MANPAGES%%share/man/man1/smbstatus.1.gz %%MANPAGES%%share/man/man1/smbtar.1.gz %%MANPAGES%%share/man/man1/smbtree.1.gz %%MANPAGES%%share/man/man1/testparm.1.gz %%MANPAGES%%share/man/man1/wbinfo.1.gz %%MANPAGES%%share/man/man1/wspsearch.1.gz %%MANPAGES%%share/man/man5/lmhosts.5.gz %%MANPAGES%%share/man/man5/pam_winbind.conf.5.gz %%MANPAGES%%share/man/man5/smb.conf.5.gz %%MANPAGES%%share/man/man5/smb4.conf.5.gz %%MANPAGES%%share/man/man5/smbpasswd.5.gz %%MANPAGES%%share/man/man7/libsmbclient.7.gz %%MANPAGES%%share/man/man7/samba.7.gz %%MANPAGES%%share/man/man7/traffic_learner.7.gz %%MANPAGES%%share/man/man7/traffic_replay.7.gz %%MANPAGES%%share/man/man8/cifsdd.8.gz %%MANPAGES%%share/man/man8/eventlogadm.8.gz %%MANPAGES%%share/man/man8/idmap_ad.8.gz %%MANPAGES%%share/man/man8/idmap_autorid.8.gz %%MANPAGES%%share/man/man8/idmap_hash.8.gz %%MANPAGES%%share/man/man8/idmap_ldap.8.gz %%MANPAGES%%share/man/man8/idmap_nss.8.gz %%MANPAGES%%share/man/man8/idmap_rfc2307.8.gz %%MANPAGES%%share/man/man8/idmap_rid.8.gz %%MANPAGES%%share/man/man8/idmap_script.8.gz %%MANPAGES%%share/man/man8/idmap_tdb.8.gz %%MANPAGES%%share/man/man8/idmap_tdb2.8.gz %%MANPAGES%%share/man/man8/net.8.gz %%MANPAGES%%share/man/man8/nmbd.8.gz %%MANPAGES%%share/man/man8/pam_winbind.8.gz %%MANPAGES%%share/man/man8/pdbedit.8.gz %%MANPAGES%%share/man/man8/samba-bgqd.8.gz %%MANPAGES%%share/man/man8/samba-dcerpcd.8.gz %%MANPAGES%%share/man/man8/samba-regedit.8.gz %%MANPAGES%%share/man/man8/samba-tool.8.gz %%MANPAGES%%share/man/man8/samba.8.gz %%MANPAGES%%share/man/man8/samba_downgrade_db.8.gz %%MANPAGES%%share/man/man8/smbd.8.gz %%MANPAGES%%share/man/man8/smbpasswd.8.gz %%MANPAGES%%share/man/man8/smbspool.8.gz %%MANPAGES%%%%CUPS%%share/man/man8/smbspool_krb5_wrapper.8.gz %%MANPAGES%%share/man/man8/vfs_acl_tdb.8.gz %%MANPAGES%%share/man/man8/vfs_acl_xattr.8.gz %%MANPAGES%%share/man/man8/vfs_aio_fork.8.gz %%MANPAGES%%share/man/man8/vfs_aio_pthread.8.gz %%MANPAGES%%share/man/man8/vfs_audit.8.gz %%MANPAGES%%share/man/man8/vfs_cacheprime.8.gz %%MANPAGES%%share/man/man8/vfs_cap.8.gz %%MANPAGES%%share/man/man8/vfs_catia.8.gz %%MANPAGES%%share/man/man8/vfs_commit.8.gz %%MANPAGES%%share/man/man8/vfs_crossrename.8.gz %%MANPAGES%%share/man/man8/vfs_default_quota.8.gz %%MANPAGES%%share/man/man8/vfs_dirsort.8.gz %%MANPAGES%%share/man/man8/vfs_expand_msdfs.8.gz %%MANPAGES%%share/man/man8/vfs_extd_audit.8.gz %%MANPAGES%%share/man/man8/vfs_fake_perms.8.gz %%MANPAGES%%share/man/man8/vfs_freebsd.8.gz %%MANPAGES%%share/man/man8/vfs_full_audit.8.gz %%MANPAGES%%share/man/man8/vfs_linux_xfs_sgid.8.gz %%MANPAGES%%share/man/man8/vfs_media_harmony.8.gz %%MANPAGES%%share/man/man8/vfs_offline.8.gz %%MANPAGES%%share/man/man8/vfs_preopen.8.gz %%MANPAGES%%share/man/man8/vfs_readahead.8.gz %%MANPAGES%%share/man/man8/vfs_readonly.8.gz %%MANPAGES%%share/man/man8/vfs_recycle.8.gz %%MANPAGES%%share/man/man8/vfs_shadow_copy.8.gz %%MANPAGES%%share/man/man8/vfs_shadow_copy2.8.gz %%MANPAGES%%share/man/man8/vfs_shell_snap.8.gz %%MANPAGES%%share/man/man8/vfs_streams_depot.8.gz %%MANPAGES%%share/man/man8/vfs_streams_xattr.8.gz %%MANPAGES%%share/man/man8/vfs_syncops.8.gz %%MANPAGES%%share/man/man8/vfs_time_audit.8.gz %%MANPAGES%%share/man/man8/vfs_unityed_media.8.gz %%MANPAGES%%share/man/man8/vfs_virusfilter.8.gz %%MANPAGES%%share/man/man8/vfs_widelinks.8.gz %%MANPAGES%%share/man/man8/vfs_worm.8.gz %%MANPAGES%%share/man/man8/vfs_xattr_tdb.8.gz %%MANPAGES%%share/man/man8/vfs_zfsacl.8.gz %%MANPAGES%%share/man/man8/winbind_krb5_locator.8.gz %%MANPAGES%%share/man/man8/winbindd.8.gz @dir %%SAMBA4_RUNDIR%% @dir %%SAMBA4_LOGDIR%% @dir %%SAMBA4_LOCKDIR%% @dir %%SAMBA4_PRIVATEDIR%% @dir %%SAMBA4_BINDDNSDIR%% @comment Use bundled libraries %%SAMBA4_BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so %%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py %%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so %%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbdump -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbadd -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbdel -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbedit -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbmodify -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbrename -%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbsearch +%%SAMBA4_BUNDLED_LDB%%bin/ldbadd +%%SAMBA4_BUNDLED_LDB%%bin/ldbdel +%%SAMBA4_BUNDLED_LDB%%bin/ldbedit +%%SAMBA4_BUNDLED_LDB%%bin/ldbmodify +%%SAMBA4_BUNDLED_LDB%%bin/ldbrename +%%SAMBA4_BUNDLED_LDB%%bin/ldbsearch %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-cmdline-private-samba.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-key-value-private-samba.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-private-samba.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-private-samba.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-int-private-samba.so %%AD_DC%%%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/count_attrs.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/asq.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ildap.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldb.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/paged_searches.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/rdn_name.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/sample.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/server_sort.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/skel.so %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/tdb.so -%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbadd.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbdel.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbedit.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbmodify.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbrename.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbsearch.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbbackup.8.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man3/ldb.3.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbadd.1.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbdel.1.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbedit.1.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbmodify.1.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbrename.1.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbsearch.1.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbbackup.8.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbdump.8.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbrestore.8.gz +%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbtool.8.gz %%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_TAG%%.so %%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_TAG%%-private-samba.so %%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-private-samba.so +%%SAMBA4_BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz %%SAMBA4_BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tdb_text.py %%SAMBA4_BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so %%SAMBA4_BUNDLED_TDB%%bin/tdbbackup %%SAMBA4_BUNDLED_TDB%%bin/tdbdump %%SAMBA4_BUNDLED_TDB%%bin/tdbrestore %%SAMBA4_BUNDLED_TDB%%bin/tdbtool %%SAMBA4_BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so %%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so %%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py %%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so diff --git a/net/samba422/pkg-plist.ad_dc b/net/samba422/pkg-plist.ad_dc index 12ed58d605f7..80c90955bc09 100644 --- a/net/samba422/pkg-plist.ad_dc +++ b/net/samba422/pkg-plist.ad_dc @@ -1,183 +1,177 @@ sbin/samba_downgrade_db sbin/samba sbin/samba_dnsupdate sbin/samba_kcc sbin/samba_spnupdate sbin/samba_upgradedns -include/samba4/dcerpc_server.h -%%SAMBA4_LIBDIR%%/libdcerpc-server.so -%%SAMBA4_LIBDIR%%/libdcerpc-server.so.0 %%SAMBA4_LIBDIR%%/private/libad-claims-private-samba.so %%SAMBA4_LIBDIR%%/private/libauthn-policy-util-private-samba.so %%SAMBA4_LIBDIR%%/private/libdlz-bind9-for-torture-private-samba.so %%SAMBA4_LIBDIR%%/private/libprocess-model-private-samba.so %%SAMBA4_LIBDIR%%/private/libservice-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libHDB-SAMBA4-private-samba.so %%SAMBA4_LIBDIR%%/private/libdb-glue-private-samba.so %%SAMBA4_LIBDIR%%/private/libdfs-server-ad-private-samba.so %%SAMBA4_LIBDIR%%/private/libdsdb-garbage-collect-tombstones-private-samba.so %%SAMBA4_LIBDIR%%/private/libpac-private-samba.so %%SAMBA4_LIBDIR%%/private/libscavenge-dns-records-private-samba.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_10.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_11.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_12.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_14.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_16.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_18.so %%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_20.so %%SAMBA4_MODULEDIR%%/gensec/krb5.so %%SAMBA4_MODULEDIR%%/ldb/acl.so %%SAMBA4_MODULEDIR%%/ldb/aclread.so %%SAMBA4_MODULEDIR%%/ldb/anr.so %%SAMBA4_MODULEDIR%%/ldb/audit_log.so -%%SAMBA4_MODULEDIR%%/ldb/count_attrs.so %%SAMBA4_MODULEDIR%%/ldb/descriptor.so %%SAMBA4_MODULEDIR%%/ldb/dirsync.so %%SAMBA4_MODULEDIR%%/ldb/dns_notify.so %%SAMBA4_MODULEDIR%%/ldb/dsdb_notification.so %%SAMBA4_MODULEDIR%%/ldb/encrypted_secrets.so %%SAMBA4_MODULEDIR%%/ldb/extended_dn_in.so %%SAMBA4_MODULEDIR%%/ldb/extended_dn_out.so %%SAMBA4_MODULEDIR%%/ldb/extended_dn_store.so %%SAMBA4_MODULEDIR%%/ldb/group_audit_log.so -%%SAMBA4_MODULEDIR%%/ldb/ildap.so %%SAMBA4_MODULEDIR%%/ldb/instancetype.so %%SAMBA4_MODULEDIR%%/ldb/lazy_commit.so -%%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so +%%SAMBA4_MODULEDIR%%/ldb/ldap.so %%SAMBA4_MODULEDIR%%/ldb/linked_attributes.so %%SAMBA4_MODULEDIR%%/ldb/new_partition.so %%SAMBA4_MODULEDIR%%/ldb/objectclass_attrs.so %%SAMBA4_MODULEDIR%%/ldb/objectclass.so %%SAMBA4_MODULEDIR%%/ldb/objectguid.so %%SAMBA4_MODULEDIR%%/ldb/operational.so %%SAMBA4_MODULEDIR%%/ldb/paged_results.so %%SAMBA4_MODULEDIR%%/ldb/partition.so %%SAMBA4_MODULEDIR%%/ldb/password_hash.so %%SAMBA4_MODULEDIR%%/ldb/ranged_results.so %%SAMBA4_MODULEDIR%%/ldb/repl_meta_data.so %%SAMBA4_MODULEDIR%%/ldb/resolve_oids.so %%SAMBA4_MODULEDIR%%/ldb/rootdse.so %%SAMBA4_MODULEDIR%%/ldb/samba_dsdb.so %%SAMBA4_MODULEDIR%%/ldb/samba_secrets.so %%SAMBA4_MODULEDIR%%/ldb/samba3sam.so %%SAMBA4_MODULEDIR%%/ldb/samba3sid.so %%SAMBA4_MODULEDIR%%/ldb/samldb.so %%SAMBA4_MODULEDIR%%/ldb/schema_data.so %%SAMBA4_MODULEDIR%%/ldb/schema_load.so %%SAMBA4_MODULEDIR%%/ldb/secrets_tdb_sync.so %%SAMBA4_MODULEDIR%%/ldb/show_deleted.so %%SAMBA4_MODULEDIR%%/ldb/subtree_delete.so %%SAMBA4_MODULEDIR%%/ldb/subtree_rename.so %%SAMBA4_MODULEDIR%%/ldb/tombstone_reanimate.so %%SAMBA4_MODULEDIR%%/ldb/unique_object_sids.so %%SAMBA4_MODULEDIR%%/ldb/update_keytab.so %%SAMBA4_MODULEDIR%%/ldb/vlv.so %%SAMBA4_MODULEDIR%%/ldb/wins_ldb.so %%SAMBA4_MODULEDIR%%/process_model/prefork.so %%SAMBA4_MODULEDIR%%/process_model/standard.so %%SAMBA4_MODULEDIR%%/service/cldap.so %%SAMBA4_MODULEDIR%%/service/dcerpc.so %%SAMBA4_MODULEDIR%%/service/dns_update.so %%SAMBA4_MODULEDIR%%/service/dns.so %%SAMBA4_MODULEDIR%%/service/drepl.so %%SAMBA4_MODULEDIR%%/service/kcc.so %%SAMBA4_MODULEDIR%%/service/kdc.so %%SAMBA4_MODULEDIR%%/service/ldap.so %%SAMBA4_MODULEDIR%%/service/nbtd.so %%SAMBA4_MODULEDIR%%/service/ntp_signd.so %%SAMBA4_MODULEDIR%%/service/s3fs.so %%SAMBA4_MODULEDIR%%/service/winbindd.so %%SAMBA4_MODULEDIR%%/service/wrepl.so %%SAMBA4_MODULEDIR%%/vfs/posix_eadb.so -%%PKGCONFIGDIR%%/dcerpc_server.pc %%DATADIR%%/samba/admx/GNOME_Settings.admx %%DATADIR%%/samba/admx/en-US/GNOME_Settings.adml %%DATADIR%%/samba/admx/en-US/samba.adml %%DATADIR%%/samba/admx/ru-RU/GNOME_Settings.adml %%DATADIR%%/samba/admx/samba.admx %%DATADIR%%/setup/ad-schema/AD_DS_Attributes_Windows_Server_v1903.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_2012_R2.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_2016.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_v1803.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Classes_Windows_Server_v1903.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_2012_R2.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_2016.ldf %%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_v1803.ldf %%DATADIR%%/setup/ad-schema/Attributes_for_AD_DS__Windows_Server_2008_R2.ldf %%DATADIR%%/setup/ad-schema/Attributes_for_AD_DS__Windows_Server_2012.ldf %%DATADIR%%/setup/ad-schema/Classes_for_AD_DS__Windows_Server_2008_R2.ldf %%DATADIR%%/setup/ad-schema/Classes_for_AD_DS__Windows_Server_2012.ldf %%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_Attributes.txt %%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_Classes.txt %%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_R2_Attributes.txt %%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_R2_Classes.txt %%DATADIR%%/setup/ad-schema/licence.txt %%DATADIR%%/setup/adprep/WindowsServerDocs/Forest-Wide-Updates.md %%DATADIR%%/setup/adprep/WindowsServerDocs/Sch49.ldf.diff %%DATADIR%%/setup/adprep/WindowsServerDocs/Sch50.ldf.diff %%DATADIR%%/setup/adprep/WindowsServerDocs/Sch51.ldf.diff %%DATADIR%%/setup/adprep/WindowsServerDocs/Sch57.ldf.diff %%DATADIR%%/setup/adprep/WindowsServerDocs/Sch59.ldf.diff %%DATADIR%%/setup/adprep/WindowsServerDocs/Schema-Updates.md %%DATADIR%%/setup/adprep/fix-forest-rev.ldf %%DATADIR%%/setup/aggregate_schema.ldif %%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k0.txt %%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k3.txt %%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k3R2.txt %%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k8.txt %%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k8R2.txt %%DATADIR%%/setup/dns_update_list %%DATADIR%%/setup/extended-rights.ldif %%DATADIR%%/setup/idmap_init.ldif %%DATADIR%%/setup/krb5.conf %%DATADIR%%/setup/named.conf %%DATADIR%%/setup/named.conf.dlz %%DATADIR%%/setup/named.conf.update %%DATADIR%%/setup/named.txt %%DATADIR%%/setup/prefixMap.txt %%DATADIR%%/setup/provision.ldif %%DATADIR%%/setup/provision.reg %%DATADIR%%/setup/provision.zone %%DATADIR%%/setup/provision_basedn.ldif %%DATADIR%%/setup/provision_basedn_modify.ldif %%DATADIR%%/setup/provision_basedn_options.ldif %%DATADIR%%/setup/provision_basedn_references.ldif %%DATADIR%%/setup/provision_computers_add.ldif %%DATADIR%%/setup/provision_computers_modify.ldif %%DATADIR%%/setup/provision_configuration.ldif %%DATADIR%%/setup/provision_configuration_basedn.ldif %%DATADIR%%/setup/provision_configuration_modify.ldif %%DATADIR%%/setup/provision_configuration_references.ldif %%DATADIR%%/setup/provision_dns_accounts_add.ldif %%DATADIR%%/setup/provision_dns_add_samba.ldif %%DATADIR%%/setup/provision_dnszones_add.ldif %%DATADIR%%/setup/provision_dnszones_modify.ldif %%DATADIR%%/setup/provision_dnszones_partitions.ldif %%DATADIR%%/setup/provision_group_policy.ldif %%DATADIR%%/setup/provision_init.ldif %%DATADIR%%/setup/provision_partitions.ldif %%DATADIR%%/setup/provision_privilege.ldif %%DATADIR%%/setup/provision_rootdse_add.ldif %%DATADIR%%/setup/provision_rootdse_modify.ldif %%DATADIR%%/setup/provision_schema_basedn.ldif %%DATADIR%%/setup/provision_schema_basedn_modify.ldif %%DATADIR%%/setup/provision_self_join.ldif %%DATADIR%%/setup/provision_self_join_config.ldif %%DATADIR%%/setup/provision_self_join_modify.ldif %%DATADIR%%/setup/provision_self_join_modify_config.ldif %%DATADIR%%/setup/provision_self_join_modify_schema.ldif %%DATADIR%%/setup/provision_users.ldif %%DATADIR%%/setup/provision_users_add.ldif %%DATADIR%%/setup/provision_users_modify.ldif %%DATADIR%%/setup/provision_well_known_sec_princ.ldif %%DATADIR%%/setup/schema_samba4.ldif %%DATADIR%%/setup/secrets.ldif %%DATADIR%%/setup/secrets_dns.ldif %%DATADIR%%/setup/secrets_init.ldif %%DATADIR%%/setup/share.ldif %%DATADIR%%/setup/spn_update_list %%DATADIR%%/setup/ypServ30.ldif @dir %%DATADIR%%/setup/display-specifiers @dir %%DATADIR%%/setup/ad-schema @dir %%DATADIR%%/setup @dir %%DATADIR%% diff --git a/net/samba422/pkg-plist.python b/net/samba422/pkg-plist.python index 2ee4e7430379..1c5127b57572 100644 --- a/net/samba422/pkg-plist.python +++ b/net/samba422/pkg-plist.python @@ -1,570 +1,595 @@ bin/smbtorture sbin/samba-gpupdate %%MANPAGES%%share/man/man1/smbtorture.1.gz %%MANPAGES%%share/man/man8/samba-gpupdate.8.gz -include/samba4/policy.h -lib/samba4/libsamba-policy%%PYTHON_TAG%%.so -lib/samba4/libsamba-policy%%PYTHON_TAG%%.so.0 -lib/samba4/private/libsamba-net%%PYTHON_TAG%%-private-samba.so lib/samba4/private/libsamba-python%%PYTHON_TAG%%-private-samba.so -%%PKGCONFIGDIR%%/samba-policy%%PYTHON_TAG%%.pc @comment Python block %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dckeytab%%PYTHON_TAG%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/posix_eadb%%PYTHON_TAG%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_native%%PYTHON_TAG%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_tdb%%PYTHON_TAG%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb_dns%%PYTHON_TAG%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/__init__.py %%PYTHON_SITELIBDIR%%/samba/_glue%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/_ldb%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/auth%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/auth_util.py %%PYTHON_SITELIBDIR%%/samba/colour.py %%PYTHON_SITELIBDIR%%/samba/common.py %%PYTHON_SITELIBDIR%%/samba/compression%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/credentials%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/crypto%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dbchecker.py %%PYTHON_SITELIBDIR%%/samba/dcerpc/__init__.py %%PYTHON_SITELIBDIR%%/samba/dcerpc/atsvc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/auth%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/base%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/claims%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/conditional_ace%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dcerpc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dfs%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dns%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsp%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsserver%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/drsblobs%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/drsuapi%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/echo%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/epmapper%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/gkdi%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/gmsa%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/idmap%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/initshutdown%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/irpc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5ccache%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5pac%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/lsa%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/mdssvc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/messaging%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/mgmt%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/misc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/nbt%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/netlogon%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/ntlmssp%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/preg%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/samr%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/schannel%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/security%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/server_id%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/smb3posix%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/smbXsrv%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/smb_acl%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/spoolss%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/srvsvc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/svcctl%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/unixinfo%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/winbind%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/windows_event_ids%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/winreg%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/winspool%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/witness%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/wkssvc%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/xattr%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/domain/__init__.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/__init__.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/auth_policy.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/auth_silo.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/claim_type.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/computer.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/constants.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/container.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/exceptions.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/fields.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/gmsa.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/group.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/model.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/org.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/person.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/query.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/registry.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/schema.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/site.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/subnet.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/types.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/user.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/value_type.py %%PYTHON_SITELIBDIR%%/samba/descriptor.py %%PYTHON_SITELIBDIR%%/samba/dnsresolver.py %%PYTHON_SITELIBDIR%%/samba/dnsserver.py %%PYTHON_SITELIBDIR%%/samba/domain_update.py %%PYTHON_SITELIBDIR%%/samba/drs_utils.py %%PYTHON_SITELIBDIR%%/samba/emulate/__init__.py %%PYTHON_SITELIBDIR%%/samba/emulate/traffic.py %%PYTHON_SITELIBDIR%%/samba/emulate/traffic_packets.py %%PYTHON_SITELIBDIR%%/samba/forest_update.py %%PYTHON_SITELIBDIR%%/samba/functional_level.py %%PYTHON_SITELIBDIR%%/samba/gensec%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/getopt.py %%PYTHON_SITELIBDIR%%/samba/gkdi.py %%PYTHON_SITELIBDIR%%/samba/gp/__init__.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_centrify_crontab_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_centrify_sudoers_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_cert_auto_enroll_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_chromium_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_drive_maps_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_ext_loader.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_firefox_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_firewalld_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_gnome_settings_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_msgs_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_scripts_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_sec_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_smb_conf_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gp_sudoers_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/gpclass.py %%PYTHON_SITELIBDIR%%/samba/gp/util/logging.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_access_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_files_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_issue_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_motd_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_openssh_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_startup_scripts_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_sudoers_ext.py %%PYTHON_SITELIBDIR%%/samba/gp/vgp_symlink_ext.py %%PYTHON_SITELIBDIR%%/samba/gp_parse/__init__.py %%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_aas.py %%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_csv.py %%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_inf.py %%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_ini.py %%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_pol.py %%PYTHON_SITELIBDIR%%/samba/gpo%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/graph.py %%PYTHON_SITELIBDIR%%/samba/hostconfig.py %%PYTHON_SITELIBDIR%%/samba/hresult%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/idmap.py %%PYTHON_SITELIBDIR%%/samba/join.py %%PYTHON_SITELIBDIR%%/samba/kcc/__init__.py %%PYTHON_SITELIBDIR%%/samba/kcc/debug.py %%PYTHON_SITELIBDIR%%/samba/kcc/graph.py %%PYTHON_SITELIBDIR%%/samba/kcc/graph_utils.py %%PYTHON_SITELIBDIR%%/samba/kcc/kcc_utils.py %%PYTHON_SITELIBDIR%%/samba/kcc/ldif_import_export.py %%PYTHON_SITELIBDIR%%/samba/logger.py +%%PYTHON_SITELIBDIR%%/samba/lsa_utils.py %%PYTHON_SITELIBDIR%%/samba/mdb_util.py %%PYTHON_SITELIBDIR%%/samba/messaging%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/ms_display_specifiers.py %%PYTHON_SITELIBDIR%%/samba/ms_forest_updates_markdown.py %%PYTHON_SITELIBDIR%%/samba/ms_schema.py %%PYTHON_SITELIBDIR%%/samba/ms_schema_markdown.py %%PYTHON_SITELIBDIR%%/samba/ndr.py %%PYTHON_SITELIBDIR%%/samba/net%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/net_s3%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/netbios%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/netcmd/__init__.py %%PYTHON_SITELIBDIR%%/samba/netcmd/common.py %%PYTHON_SITELIBDIR%%/samba/netcmd/computer.py %%PYTHON_SITELIBDIR%%/samba/netcmd/contact.py %%PYTHON_SITELIBDIR%%/samba/netcmd/dbcheck.py %%PYTHON_SITELIBDIR%%/samba/netcmd/delegation.py %%PYTHON_SITELIBDIR%%/samba/netcmd/dns.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/__init__.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/__init__.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo_member.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/computer_allowed_to_authenticate_to.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/policy.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/service_allowed_to_authenticate_from.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/service_allowed_to_authenticate_to.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/user_allowed_to_authenticate_from.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/user_allowed_to_authenticate_to.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo/member.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo/silo.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/kds/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/kds/root_key.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/backup.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/claim/__init__.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/claim/claim_type.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/claim/value_type.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/classicupgrade.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/common.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/dcpromo.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/demote.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/functional_prep.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/info.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/join.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/keytab.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/leave.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/level.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/__init__.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/auth_policy.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/auth_silo.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/claim_type.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/exceptions.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/fields.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/group.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/model.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/query.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/schema.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/site.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/subnet.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/user.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/models/value_type.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/passwordsettings.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/provision.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/samba3upgrade.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/schemaupgrade.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/service_account/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/service_account/group_msa_membership.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/service_account/service_account.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/tombstones.py %%PYTHON_SITELIBDIR%%/samba/netcmd/domain/trust.py %%PYTHON_SITELIBDIR%%/samba/netcmd/drs.py %%PYTHON_SITELIBDIR%%/samba/netcmd/dsacl.py %%PYTHON_SITELIBDIR%%/samba/netcmd/encoders.py %%PYTHON_SITELIBDIR%%/samba/netcmd/forest.py %%PYTHON_SITELIBDIR%%/samba/netcmd/fsmo.py %%PYTHON_SITELIBDIR%%/samba/netcmd/gpcommon.py %%PYTHON_SITELIBDIR%%/samba/netcmd/gpo.py %%PYTHON_SITELIBDIR%%/samba/netcmd/group.py %%PYTHON_SITELIBDIR%%/samba/netcmd/ldapcmp.py %%PYTHON_SITELIBDIR%%/samba/netcmd/main.py %%PYTHON_SITELIBDIR%%/samba/netcmd/nettime.py %%PYTHON_SITELIBDIR%%/samba/netcmd/ntacl.py %%PYTHON_SITELIBDIR%%/samba/netcmd/ou.py %%PYTHON_SITELIBDIR%%/samba/netcmd/processes.py %%PYTHON_SITELIBDIR%%/samba/netcmd/pso.py %%PYTHON_SITELIBDIR%%/samba/netcmd/rodc.py %%PYTHON_SITELIBDIR%%/samba/netcmd/schema.py %%PYTHON_SITELIBDIR%%/samba/netcmd/shell.py %%PYTHON_SITELIBDIR%%/samba/netcmd/sites.py %%PYTHON_SITELIBDIR%%/samba/netcmd/spn.py %%PYTHON_SITELIBDIR%%/samba/netcmd/testparm.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/__init__.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/add.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/add_unix_attrs.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth/__init__.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth/policy.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth/silo.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/delete.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/disable.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/edit.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/enable.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/getgroups.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/list.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/move.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/password.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/__init__.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/common.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/get_kerberos_ticket.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/getpassword.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/show.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/syncpasswords.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/rename.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/sensitive.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/setexpiry.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/setpassword.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/setprimarygroup.py %%PYTHON_SITELIBDIR%%/samba/netcmd/user/unlock.py %%PYTHON_SITELIBDIR%%/samba/netcmd/validators.py %%PYTHON_SITELIBDIR%%/samba/netcmd/visualize.py %%PYTHON_SITELIBDIR%%/samba/nt_time.py %%PYTHON_SITELIBDIR%%/samba/ntacls.py %%PYTHON_SITELIBDIR%%/samba/ntstatus%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/param%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/policies.py %%PYTHON_SITELIBDIR%%/samba/policy%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/provision/__init__.py %%PYTHON_SITELIBDIR%%/samba/provision/backend.py %%PYTHON_SITELIBDIR%%/samba/provision/common.py %%PYTHON_SITELIBDIR%%/samba/provision/kerberos.py %%PYTHON_SITELIBDIR%%/samba/provision/kerberos_implementation.py %%PYTHON_SITELIBDIR%%/samba/provision/sambadns.py %%PYTHON_SITELIBDIR%%/samba/registry%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/remove_dc.py %%PYTHON_SITELIBDIR%%/samba/reparse_symlink%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/safe_tarfile.py %%PYTHON_SITELIBDIR%%/samba/samba3/__init__.py %%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_cwrapper%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_internal.py %%PYTHON_SITELIBDIR%%/samba/samba3/mdscli%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/param%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/passdb%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/smbconf%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/smbd%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/samdb.py %%PYTHON_SITELIBDIR%%/samba/schema.py %%PYTHON_SITELIBDIR%%/samba/sd_utils.py %%PYTHON_SITELIBDIR%%/samba/security%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/sites.py %%PYTHON_SITELIBDIR%%/samba/smbconf%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/subnets.py %%PYTHON_SITELIBDIR%%/samba/subunit/__init__.py %%PYTHON_SITELIBDIR%%/samba/subunit/run.py %%PYTHON_SITELIBDIR%%/samba/tdb_util.py %%PYTHON_SITELIBDIR%%/samba/tests/__init__.py %%PYTHON_SITELIBDIR%%/samba/tests/audit_log_base.py %%PYTHON_SITELIBDIR%%/samba/tests/audit_log_dsdb.py %%PYTHON_SITELIBDIR%%/samba/tests/audit_log_pass_change.py %%PYTHON_SITELIBDIR%%/samba/tests/auth.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_base.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_ncalrpc.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon_bad_creds.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_pass_change.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_samlogon.py %%PYTHON_SITELIBDIR%%/samba/tests/auth_log_winbind.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/__init__.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/bug13653.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/check_output.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/claims.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/downgradedatabase.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/gmsa.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/http_chunk.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/http_content.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/mdsearch.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/misc_dfs_widelink.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/ndrdump.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/netads_dns.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/netads_json.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/rpcd_witness_samba_only.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/samba_dnsupdate.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_basic.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_dfs_propagate_inherit.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_propagate_inhertance.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_save_restore.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol_process.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_learner.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_replay.py %%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_summary.py %%PYTHON_SITELIBDIR%%/samba/tests/common.py %%PYTHON_SITELIBDIR%%/samba/tests/complex_expressions.py %%PYTHON_SITELIBDIR%%/samba/tests/compression.py %%PYTHON_SITELIBDIR%%/samba/tests/conditional_ace_assembler.py %%PYTHON_SITELIBDIR%%/samba/tests/conditional_ace_bytes.py %%PYTHON_SITELIBDIR%%/samba/tests/conditional_ace_claims.py %%PYTHON_SITELIBDIR%%/samba/tests/core.py %%PYTHON_SITELIBDIR%%/samba/tests/cred_opt.py %%PYTHON_SITELIBDIR%%/samba/tests/credentials.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/__init__.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/array.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/bare.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/binding.py -%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/createtrustrelax.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/dnsserver.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/integer.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/lsa.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/lsa_utils.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/mdssvc.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/misc.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_protocol.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_testcase.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/registry.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpc_talloc.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpcecho.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/sam.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/samr_change_password.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/srvsvc.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/string_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/testrpc.py %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/unix.py %%PYTHON_SITELIBDIR%%/samba/tests/dckeytab.py %%PYTHON_SITELIBDIR%%/samba/tests/dns.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_aging.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_base.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder_helpers/server.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_invalid.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_packet.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_tkey.py %%PYTHON_SITELIBDIR%%/samba/tests/dns_wildcard.py %%PYTHON_SITELIBDIR%%/samba/tests/docs.py %%PYTHON_SITELIBDIR%%/samba/tests/domain_backup.py %%PYTHON_SITELIBDIR%%/samba/tests/domain_backup_offline.py %%PYTHON_SITELIBDIR%%/samba/tests/dsdb.py %%PYTHON_SITELIBDIR%%/samba/tests/dsdb_api.py %%PYTHON_SITELIBDIR%%/samba/tests/dsdb_dns.py %%PYTHON_SITELIBDIR%%/samba/tests/dsdb_lock.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_quiet_env_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_quiet_provision_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/dsdb_schema_attributes.py %%PYTHON_SITELIBDIR%%/samba/tests/emulate/__init__.py %%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic.py %%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic_packet.py %%PYTHON_SITELIBDIR%%/samba/tests/encrypted_secrets.py %%PYTHON_SITELIBDIR%%/samba/tests/gensec.py %%PYTHON_SITELIBDIR%%/samba/tests/get_opt.py %%PYTHON_SITELIBDIR%%/samba/tests/getdcname.py %%PYTHON_SITELIBDIR%%/samba/tests/gkdi.py %%PYTHON_SITELIBDIR%%/samba/tests/glue.py %%PYTHON_SITELIBDIR%%/samba/tests/gpo.py %%PYTHON_SITELIBDIR%%/samba/tests/gpo_member.py %%PYTHON_SITELIBDIR%%/samba/tests/graph.py %%PYTHON_SITELIBDIR%%/samba/tests/group_audit.py %%PYTHON_SITELIBDIR%%/samba/tests/hostconfig.py %%PYTHON_SITELIBDIR%%/samba/tests/imports.py %%PYTHON_SITELIBDIR%%/samba/tests/join.py %%PYTHON_SITELIBDIR%%/samba/tests/kcc/__init__.py %%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph.py %%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph_utils.py %%PYTHON_SITELIBDIR%%/samba/tests/kcc/kcc_utils.py %%PYTHON_SITELIBDIR%%/samba/tests/kcc/ldif_import_export.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/alias_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/as_canonicalization_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/as_req_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/authn_policy_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/claims_in_pac.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/claims_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/compatability_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/conditional_ace_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/device_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/etype_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/fast_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/gkdi_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/gmsa_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/group_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/kcrypto.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_base_test.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_tgs_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_tgt_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/kpasswd_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/lockout_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/ms_kile_client_principal_lookup_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/netlogon.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/nt_hash_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/pac_align_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/pkinit_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/protected_users_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/raw_testcase.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/rfc4120_constants.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/rfc4120_pyasn1.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/rfc4120_pyasn1_generated.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/rodc_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/s4u_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/salt_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/simple_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/spn_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_ccache.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_idmap_nss.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_ldap.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_min_domain_uid.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_rpc.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_smb.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/xrealm_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5_credentials.py %%PYTHON_SITELIBDIR%%/samba/tests/ldap_raw.py %%PYTHON_SITELIBDIR%%/samba/tests/ldap_referrals.py %%PYTHON_SITELIBDIR%%/samba/tests/ldap_spn.py %%PYTHON_SITELIBDIR%%/samba/tests/ldap_upn_sam_account.py %%PYTHON_SITELIBDIR%%/samba/tests/ldap_whoami.py %%PYTHON_SITELIBDIR%%/samba/tests/libsmb-basic.py %%PYTHON_SITELIBDIR%%/samba/tests/libsmb.py %%PYTHON_SITELIBDIR%%/samba/tests/loadparm.py %%PYTHON_SITELIBDIR%%/samba/tests/logfiles.py %%PYTHON_SITELIBDIR%%/samba/tests/lsa_string.py %%PYTHON_SITELIBDIR%%/samba/tests/messaging.py %%PYTHON_SITELIBDIR%%/samba/tests/ndr/gkdi.py %%PYTHON_SITELIBDIR%%/samba/tests/ndr/gmsa.py %%PYTHON_SITELIBDIR%%/samba/tests/ndr/wbint.py %%PYTHON_SITELIBDIR%%/samba/tests/net_join.py %%PYTHON_SITELIBDIR%%/samba/tests/net_join_no_spnego.py %%PYTHON_SITELIBDIR%%/samba/tests/netbios.py %%PYTHON_SITELIBDIR%%/samba/tests/netcmd.py %%PYTHON_SITELIBDIR%%/samba/tests/netlogonsvc.py +%%PYTHON_SITELIBDIR%%/samba/tests/ndr/sd.py %%PYTHON_SITELIBDIR%%/samba/tests/ntacls.py %%PYTHON_SITELIBDIR%%/samba/tests/ntacls_backup.py %%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth.py %%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth_base.py %%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth_krb5.py %%PYTHON_SITELIBDIR%%/samba/tests/ntlmdisabled.py %%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind.py %%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_chauthtok.py %%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_setcred.py %%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_warn_pwd_expire.py %%PYTHON_SITELIBDIR%%/samba/tests/param.py %%PYTHON_SITELIBDIR%%/samba/tests/password_hash.py %%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2003.py %%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2008.py %%PYTHON_SITELIBDIR%%/samba/tests/password_hash_gpgme.py %%PYTHON_SITELIBDIR%%/samba/tests/password_hash_ldap.py %%PYTHON_SITELIBDIR%%/samba/tests/password_quality.py %%PYTHON_SITELIBDIR%%/samba/tests/password_test.py %%PYTHON_SITELIBDIR%%/samba/tests/policy.py %%PYTHON_SITELIBDIR%%/samba/tests/posixacl.py %%PYTHON_SITELIBDIR%%/samba/tests/prefork_restart.py %%PYTHON_SITELIBDIR%%/samba/tests/process_limits.py %%PYTHON_SITELIBDIR%%/samba/tests/provision.py %%PYTHON_SITELIBDIR%%/samba/tests/pso.py %%PYTHON_SITELIBDIR%%/samba/tests/py_credentials.py %%PYTHON_SITELIBDIR%%/samba/tests/registry.py %%PYTHON_SITELIBDIR%%/samba/tests/reparsepoints.py +%%PYTHON_SITELIBDIR%%/samba/tests/rust.py %%PYTHON_SITELIBDIR%%/samba/tests/s3_net_join.py %%PYTHON_SITELIBDIR%%/samba/tests/s3idmapdb.py %%PYTHON_SITELIBDIR%%/samba/tests/s3param.py %%PYTHON_SITELIBDIR%%/samba/tests/s3passdb.py %%PYTHON_SITELIBDIR%%/samba/tests/s3registry.py %%PYTHON_SITELIBDIR%%/samba/tests/s3windb.py %%PYTHON_SITELIBDIR%%/samba/tests/safe_tarfile.py %%PYTHON_SITELIBDIR%%/samba/tests/samba3sam.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_startup_fl_change.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/__init__.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/base.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/computer.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/contact.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/demote.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/dnscmd.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_auth_policy.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_auth_silo.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_claim.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_kds_root_key.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_models.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/drs_clone_dc_data_lmdb_size.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/dsacl.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/forest.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/fsmo.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/gpo.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/gpo_exts.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/group.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/help.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join_lmdb_size.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join_member.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ntacl.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ou.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/passwordsettings.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/processes.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/promote_dc_lmdb_size.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_lmdb_size.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_password_check.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_userPassword_crypt.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/rodc.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/schema.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/service_account.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/silo_base.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/sites.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/timecmd.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_auth_policy.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_auth_silo.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_check_password_script.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_get_kerberos_ticket.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_getpassword_gmsa.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA_base.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA_gpg.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA_userPassword.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_wdigest.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize_drs.py %%PYTHON_SITELIBDIR%%/samba/tests/samba_upgradedns_lmdb.py %%PYTHON_SITELIBDIR%%/samba/tests/samdb.py %%PYTHON_SITELIBDIR%%/samba/tests/samdb_api.py %%PYTHON_SITELIBDIR%%/samba/tests/sddl.py %%PYTHON_SITELIBDIR%%/samba/tests/sddl_conditional_ace.py %%PYTHON_SITELIBDIR%%/samba/tests/security.py %%PYTHON_SITELIBDIR%%/samba/tests/security_descriptors.py %%PYTHON_SITELIBDIR%%/samba/tests/segfault.py %%PYTHON_SITELIBDIR%%/samba/tests/sid_strings.py %%PYTHON_SITELIBDIR%%/samba/tests/smb-notify.py %%PYTHON_SITELIBDIR%%/samba/tests/smb.py %%PYTHON_SITELIBDIR%%/samba/tests/smb1posix.py %%PYTHON_SITELIBDIR%%/samba/tests/smb2symlink.py %%PYTHON_SITELIBDIR%%/samba/tests/smb3unix.py %%PYTHON_SITELIBDIR%%/samba/tests/smbconf.py %%PYTHON_SITELIBDIR%%/samba/tests/smbd_base.py %%PYTHON_SITELIBDIR%%/samba/tests/smbd_fuzztest.py %%PYTHON_SITELIBDIR%%/samba/tests/source.py %%PYTHON_SITELIBDIR%%/samba/tests/source_chars.py %%PYTHON_SITELIBDIR%%/samba/tests/strings.py %%PYTHON_SITELIBDIR%%/samba/tests/subunitrun.py %%PYTHON_SITELIBDIR%%/samba/tests/tdb_util.py %%PYTHON_SITELIBDIR%%/samba/tests/token_factory.py %%PYTHON_SITELIBDIR%%/samba/tests/upgrade.py %%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovision.py %%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovisionneeddc.py %%PYTHON_SITELIBDIR%%/samba/tests/usage.py %%PYTHON_SITELIBDIR%%/samba/tests/xattr.py -%%PYTHON_SITELIBDIR%%/samba/trust_utils.py %%PYTHON_SITELIBDIR%%/samba/upgrade.py %%PYTHON_SITELIBDIR%%/samba/upgradehelpers.py %%PYTHON_SITELIBDIR%%/samba/uptodateness.py %%PYTHON_SITELIBDIR%%/samba/werror%%PYTHON_TAG%%.so %%PYTHON_SITELIBDIR%%/samba/xattr.py @dir %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool @dir %%PYTHON_SITELIBDIR%%/samba/tests/ndr @dir %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc @dir %%PYTHON_SITELIBDIR%%/samba/tests/blackbox @dir %%PYTHON_SITELIBDIR%%/samba/tests @dir %%PYTHON_SITELIBDIR%%/samba/samba3 @dir %%PYTHON_SITELIBDIR%%/samba/provision @dir %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords @dir %%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth @dir %%PYTHON_SITELIBDIR%%/samba/netcmd/user @dir %%PYTHON_SITELIBDIR%%/samba/netcmd @dir %%PYTHON_SITELIBDIR%%/samba/dcerpc @dir %%PYTHON_SITELIBDIR%%/samba