diff --git a/net/Makefile b/net/Makefile index 879be0f13b68..97f7b96d9abe 100644 --- a/net/Makefile +++ b/net/Makefile @@ -1,1714 +1,1715 @@ 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 += akonadi-calendar SUBDIR += akonadi-contacts SUBDIR += akonadi-mime SUBDIR += akonadi-notes SUBDIR += akonadi-search SUBDIR += alligator SUBDIR += aluminum 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 += asterisk-chan_sccp SUBDIR += asterisk-g72x SUBDIR += asterisk18 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 += benthos SUBDIR += bindtest SUBDIR += binkd SUBDIR += bird2 SUBDIR += bird3 SUBDIR += bittwist SUBDIR += bmon SUBDIR += boinc-client SUBDIR += boinc_curses SUBDIR += boinctui SUBDIR += bosh-bootloader SUBDIR += bosh-cli 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 += cf SUBDIR += charm SUBDIR += chrony SUBDIR += chrony-lite SUBDIR += citrix_ica SUBDIR += cjdns SUBDIR += clash SUBDIR += cloud-init SUBDIR += cloud-init-devel SUBDIR += cloudflared SUBDIR += cloudquery SUBDIR += clusterit SUBDIR += cnd SUBDIR += concourse-fly SUBDIR += containernetworking-plugins SUBDIR += corkscrew SUBDIR += corosync2 SUBDIR += corosync3 SUBDIR += courier-authlib-ldap SUBDIR += courier-sox SUBDIR += cpp-pcp-client 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 += dbeacon SUBDIR += delegate 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 += drive SUBDIR += dropbox-api-command SUBDIR += dropbox-uploader SUBDIR += dshell SUBDIR += dtcp SUBDIR += dtcpclient SUBDIR += dual-dhclient SUBDIR += dual-dhclient-daemon SUBDIR += ecal SUBDIR += echoping SUBDIR += empty SUBDIR += endlessh SUBDIR += enet SUBDIR += eternalterminal SUBDIR += eturnal SUBDIR += evans SUBDIR += eventviews SUBDIR += exabgp4 SUBDIR += fb303 SUBDIR += fiche SUBDIR += file2pcap SUBDIR += findmtu SUBDIR += findomain SUBDIR += flower 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 += 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 += gnome-online-miners SUBDIR += gnu-radius SUBDIR += go-bapu SUBDIR += go-cs 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 += haproxy22 SUBDIR += haproxy24 SUBDIR += haproxy25 SUBDIR += haproxy26 SUBDIR += haproxy27 SUBDIR += haproxy28 SUBDIR += haproxy29 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 += 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 += 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 += 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 += ktnef SUBDIR += kube-apiserver SUBDIR += kube-controller-manager SUBDIR += kube-scheduler SUBDIR += l2tpd SUBDIR += ladvd SUBDIR += lambdamoo SUBDIR += landrop 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 += 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 += libilbc SUBDIR += libiscsi SUBDIR += libkgapi SUBDIR += libksieve SUBDIR += liblinphone SUBDIR += libmaia SUBDIR += libmateweather SUBDIR += libmaxminddb SUBDIR += libmdf SUBDIR += libmediawiki SUBDIR += libnatpmp SUBDIR += libndp SUBDIR += libnet SUBDIR += libnfs SUBDIR += libngtcp2 SUBDIR += libngtcp2-gnutls 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 += libtnl 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 += linknx 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-libproxy SUBDIR += linux-rl9-openldap SUBDIR += linux-rl9-tcp_wrappers-libs SUBDIR += liveMedia SUBDIR += lla 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 += 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-top SUBDIR += natscli SUBDIR += nbd-server SUBDIR += nbdkit SUBDIR += nc SUBDIR += ncp SUBDIR += ndisc6 SUBDIR += ndpi SUBDIR += ndproxy SUBDIR += neatvnc SUBDIR += nemesis SUBDIR += net6 SUBDIR += netatalk3 SUBDIR += netcat SUBDIR += netdiscover SUBDIR += netembryo SUBDIR += nethogs SUBDIR += netmap 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 += nsscache 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 += onenetd SUBDIR += onioncat SUBDIR += onionprobe SUBDIR += ooni-mini SUBDIR += ooni-probe-cli SUBDIR += open-isns SUBDIR += openbgpd SUBDIR += openbgpd6 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 += opensips31 SUBDIR += openslp SUBDIR += openvswitch SUBDIR += ortp SUBDIR += osrtspproxy SUBDIR += ossp-sa 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-SPDY 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-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-URI-ws 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 += phpldapadmin SUBDIR += pichi 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-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-ec2-cli-tools 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-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-tacacs_plus 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-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 += rabbiteer SUBDIR += rabbitmq SUBDIR += rabbitmq-c 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-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-aws328 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-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-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-tools 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 += 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 += 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 += sobby 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 += 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 += traefik SUBDIR += traff SUBDIR += trafshow SUBDIR += trafshow3 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 += vtun 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-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 += 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 += zillion SUBDIR += zmap SUBDIR += zsync SUBDIR += zyre .include diff --git a/net/samba420/Makefile b/net/samba420/Makefile index 92cc5bb78f0c..c32635e1f11b 100644 --- a/net/samba420/Makefile +++ b/net/samba420/Makefile @@ -1,705 +1,706 @@ -PORTNAME= ${SAMBA4_BASENAME}419 +PORTNAME= ${SAMBA4_BASENAME}420 PORTVERSION= ${SAMBA4_VERSION} -PORTREVISION= 5 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:-p1 \ - ${PATCHDIR}/0100-Fix-pathref-handling-for-FreeBSD-13plus.patch + ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ + ${PATCHDIR}/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch:-p1 \ + ${PATCHDIR}/0101-FreeBSD-add-fdescfs-paths-workaround.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.19.9 +SAMBA4_VERSION= 4.20.7 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= 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 MANDOC PROFILE PYTHON3 QUOTAS \ SPOTLIGHT 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 \ PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ FRUIT GSSAPI_BUILTIN AVAHI ############################################################################## ADS_DESC= Active Directory client(implies LDAP) 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 SPOTLIGHT_DESC= Spotlight server-side search support MANDOC_DESC= Build manpages from DOCBOOK templates 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 # 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 # 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+= talloc>=2.4.1:devel/talloc -RUN_DEPENDS+= talloc>=2.4.1:devel/talloc +BUILD_DEPENDS+= talloc>=2.4.2:devel/talloc242 +RUN_DEPENDS+= talloc>=2.4.2:devel/talloc242 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+= tevent>=0.15.0:devel/tevent -RUN_DEPENDS+= tevent>=0.15.0:devel/tevent +BUILD_DEPENDS+= tevent>=0.16.1:devel/tevent016 +RUN_DEPENDS+= tevent>=0.16.1:devel/tevent016 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+= tdb>=1.4.9:databases/tdb -RUN_DEPENDS+= tdb>=1.4.9:databases/tdb +BUILD_DEPENDS+= tdb>=1.4.10:databases/tdb1410 +RUN_DEPENDS+= tdb>=1.4.10:databases/tdb1410 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 PLIST_SUB+= SAMBA4_BUNDLED_LDB="" SUB_LIST+= SAMBA4_BUNDLED_LDB="" SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules .else SAMBA4_BUNDLED_LIBS+= !ldb -BUILD_DEPENDS+= ldb28>=2.8.1:databases/ldb28 -RUN_DEPENDS+= ldb28>=2.8.1:databases/ldb28 +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-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 # ${ICONV_CONFIGURE_BASE} ############################################################################## FRUIT_PREVENTS= ZEROCONF_NONE FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit FRUIT_PLIST_FILES= share/man/man8/vfs_fruit.8.gz GLUSTERFS_CONFIGURE_ENABLE= glusterfs GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs GLUSTERFS_PLIST_FILES= share/man/man8/vfs_glusterfs.8.gz 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_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}gpgme>=1.14.0:security/py-gpgme@${PY_FLAVOR} GSSAPI_BUILTIN_USES= bison GSSAPI_BUILTIN_BUILD_DEPENDS= p5-JSON>=4.0:converters/p5-JSON 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_USES= ldap LDAP_VARS= SAMBA4_MODULES+=idmap_ldap LIBZFS_CONFIGURE_WITH= libzfs LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space MANDOC_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANDOC_CONFIGURE_ENV_OFF= XSLTPROC="true" PROFILE_CONFIGURE_WITH= profiling-data QUOTAS_CONFIGURE_WITH= quotas SPOTLIGHT_CONFIGURE_ENABLE= spotlight SPOTLIGHT_BUILD_DEPENDS= tracker>=1.4.1:sysutils/tracker SPOTLIGHT_RUN_DEPENDS= tracker>=1.4.1:sysutils/tracker # ICU SPOTLIGHT_LIB_DEPENDS= libicuuc.so:devel/icu SPOTLIGHT_USES= bison gnome SPOTLIGHT_USE= gnome=glib20 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-samba4.so \ ${SAMBA4_MODULEDIR}/ldb/mdb.so . endif .endif .if ${PORT_OPTIONS:MGSSAPI_MIT} PLIST_FILES+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \ share/man/man8/winbind_krb5_localauth.8.gz . if ${PORT_OPTIONS:MAD_DC} PLIST_FILES+= ${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so . 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 pre-build-MANDOC-off: ${MKDIR} ${BUILD_WRKSRC}/bin/default/docs-xml/ ${CP} -rp ${BUILD_WRKSRC}/docs/manpages ${BUILD_WRKSRC}/bin/default/docs-xml/ .for man in libcli/nbt/man/nmblookup4.1 \ librpc/tools/ndrdump.1 \ source4/lib/registry/man/regdiff.1 \ source4/lib/registry/man/regpatch.1 \ source4/lib/registry/man/regshell.1 \ source4/lib/registry/man/regtree.1 \ source4/scripting/man/samba-gpupdate.8 \ source4/torture/man/gentest.1 \ source4/torture/man/locktest.1 \ source4/torture/man/masktest.1 \ source4/torture/man/smbtorture.1 \ source4/utils/man/ntlm_auth4.1 \ source4/utils/oLschema2ldif/oLschema2ldif.1 \ lib/tdb/man/tdbdump.8 \ lib/tdb/man/tdbbackup.8 \ lib/tdb/man/tdbtool.8 \ lib/talloc/man/talloc.3 \ lib/tdb/man/tdbrestore.8 \ lib/ldb/man/ldb.3 \ lib/ldb/man/ldbadd.1 \ lib/ldb/man/ldbdel.1 \ lib/ldb/man/ldbedit.1 \ lib/ldb/man/ldbmodify.1 \ lib/ldb/man/ldbrename.1 \ lib/ldb/man/ldbsearch.1 \ docs-xml/manpages/vfs_freebsd.8 ${MKDIR} `dirname ${BUILD_WRKSRC}/bin/default/${man}` ${INSTALL_MAN} ${FILESDIR}/man/`basename ${man}` ${BUILD_WRKSRC}/bin/default/${man} .endfor .if ${PORT_OPTIONS:MCLUSTER} ${MKDIR} ${BUILD_WRKSRC}/bin/default/ctdb/ . for man in ctdb_diagnostics.1 ctdb.1 ctdbd_wrapper.1 ctdbd.1 ltdbtool.1 onnode.1 ping_pong.1 \ ctdb.conf.5 ctdb.sysconfig.5 ctdb-script.options.5 \ ctdb.7 ctdb-statistics.7 ctdb-tunables.7 ${INSTALL_MAN} ${FILESDIR}/man/${man} ${BUILD_WRKSRC}/bin/default/ctdb/ . endfor .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: .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 post-install: post-install-rm-junk post-install-fix-manpages ${LN} -sf smb.conf.5.gz ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5.gz # 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 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 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/samba420/distinfo b/net/samba420/distinfo index 9cb454e7bc0c..e6dc8bc2d49f 100644 --- a/net/samba420/distinfo +++ b/net/samba420/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1729258042 -SHA256 (samba-4.19.9.tar.gz) = 71ed406444714c90bb9d36c576d807b67af15449f297e91106d42b3ca2fa5549 -SIZE (samba-4.19.9.tar.gz) = 41877221 +TIMESTAMP = 1737565689 +SHA256 (samba-4.20.7.tar.gz) = 5afe8b66e612ab1c7e57c6146adfe98ec3ea9d40dee2962a2076a3d6d6973b78 +SIZE (samba-4.20.7.tar.gz) = 42523056 diff --git a/net/samba420/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch b/net/samba420/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch index 9c430425138f..aadb084506eb 100644 --- a/net/samba420/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch +++ b/net/samba420/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch @@ -1,340 +1,332 @@ From 5019ad026f106d51dc2bb4c410a05b2f63b56cd0 Mon Sep 17 00:00:00 2001 From: "Timur I. Bakeyev" Date: Mon, 31 May 2021 01:43:13 +0200 Subject: [PATCH 22/28] Clean up UTMP handling code and add FreeBSD support. Some really legacy platforms may have been dropped as a result. Signed-off-by: Timur I. Bakeyev --- - source3/smbd/utmp.c | 156 ++++++++++++-------------------------------- - source3/wscript | 37 ++++++----- - 2 files changed, 63 insertions(+), 130 deletions(-) + source3/smbd/utmp.c | 152 +++++++++++------------------------------- + source3/wscript | 36 +++++---- + 2 files changed, 60 insertions(+), 128 deletions(-) -diff --git a/source3/smbd/utmp.c b/source3/smbd/utmp.c -index 4327301e3b1..f4a8362dd56 100644 ---- a/source3/smbd/utmp.c -+++ b/source3/smbd/utmp.c +diff -Naurp a/source3/smbd/utmp.c b/source3/smbd/utmp.c +--- a/source3/smbd/utmp.c 2024-02-02 04:33:51.316490200 -0500 ++++ b/source3/smbd/utmp.c 2024-08-05 12:50:57.691687000 -0400 @@ -257,7 +257,7 @@ static char *uw_pathname(TALLOC_CTX *ctx, Update utmp file directly. No subroutine interface: probably a BSD system. ****************************************************************************/ -static void pututline_my(const char *uname, struct utmp *u, bool claim) +static void pututline_my(const char *uname, STRUCT_UTMP *u, bool claim) { DEBUG(1,("pututline_my: not yet implemented\n")); /* BSD implementor: may want to consider (or not) adjusting "lastlog" */ -@@ -271,7 +271,7 @@ static void pututline_my(const char *uname, struct utmp *u, bool claim) +@@ -271,7 +271,7 @@ static void pututline_my(const char *uname, struct utm Credit: Michail Vidiassov ****************************************************************************/ -static void updwtmp_my(const char *wname, struct utmp *u, bool claim) +static void updwtmp_my(const char *wname, STRUCT_UTMP *u, bool claim) { int fd; struct stat buf; -@@ -303,7 +303,7 @@ static void updwtmp_my(const char *wname, struct utmp *u, bool claim) +@@ -303,7 +303,7 @@ static void updwtmp_my(const char *wname, struct utmp if ((fd = open(wname, O_WRONLY|O_APPEND, 0)) < 0) return; if (fstat(fd, &buf) == 0) { - if (write(fd, (char *)u, sizeof(struct utmp)) != sizeof(struct utmp)) + if (write(fd, (char *)u, sizeof(STRUCT_UTMP)) != sizeof(STRUCT_UTMP)) (void) ftruncate(fd, buf.st_size); } (void) close(fd); -@@ -314,12 +314,12 @@ static void updwtmp_my(const char *wname, struct utmp *u, bool claim) +@@ -314,12 +314,12 @@ static void updwtmp_my(const char *wname, struct utmp Update via utmp/wtmp (not utmpx/wtmpx). ****************************************************************************/ -static void utmp_nox_update(struct utmp *u, bool claim) +static void utmp_nox_update(STRUCT_UTMP *u, bool claim) { char *uname = NULL; char *wname = NULL; #if defined(PUTUTLINE_RETURNS_UTMP) - struct utmp *urc; + STRUCT_UTMP *urc; #endif /* PUTUTLINE_RETURNS_UTMP */ uname = uw_pathname(talloc_tos(), "utmp", ut_pathname); -@@ -376,127 +376,52 @@ static void utmp_nox_update(struct utmp *u, bool claim) +@@ -376,127 +376,52 @@ static void utmp_nox_update(struct utmp *u, bool claim } } -/**************************************************************************** - Copy a string in the utmp structure. -****************************************************************************/ -static void utmp_strcpy(char *dest, const char *src, size_t n) -{ - size_t len = 0; -- + - memset(dest, '\0', n); - if (src) - len = strlen(src); - if (len >= n) { - memcpy(dest, src, n); - } else { - if (len) - memcpy(dest, src, len); - } -} -+ -+ ++ /**************************************************************************** Update via utmpx/wtmpx (preferred) or via utmp/wtmp. ****************************************************************************/ -static void sys_utmp_update(struct utmp *u, const char *hostname, bool claim) +static void sys_utmp_update(STRUCT_UTMP *u, const char *hostname, bool claim) { -#if !defined(HAVE_UTMPX_H) - /* No utmpx stuff. Drop to non-x stuff */ - utmp_nox_update(u, claim); -#elif !defined(HAVE_PUTUTXLINE) - /* Odd. Have utmpx.h but no "pututxline()". Drop to non-x stuff */ - DEBUG(1,("utmp_update: have utmpx.h but no pututxline() function\n")); - utmp_nox_update(u, claim); -#elif !defined(HAVE_GETUTMPX) - /* Odd. Have utmpx.h but no "getutmpx()". Drop to non-x stuff */ - DEBUG(1,("utmp_update: have utmpx.h but no getutmpx() function\n")); - utmp_nox_update(u, claim); -#elif !defined(HAVE_UPDWTMPX) - /* Have utmpx.h but no "updwtmpx()". Drop to non-x stuff */ - DEBUG(1,("utmp_update: have utmpx.h but no updwtmpx() function\n")); - utmp_nox_update(u, claim); -#else - char *uname = NULL; - char *wname = NULL; - struct utmpx ux, *uxrc; -- ++ STRUCT_UTMP *urc; + - getutmpx(u, &ux); - -#if defined(HAVE_UX_UT_SYSLEN) - if (hostname) - ux.ut_syslen = strlen(hostname) + 1; /* include end NULL */ - else - ux.ut_syslen = 0; -#endif -#if defined(HAVE_UX_UT_HOST) - utmp_strcpy(ux.ut_host, hostname, sizeof(ux.ut_host)); -#endif - - uname = uw_pathname(talloc_tos(), "utmpx", ux_pathname); - wname = uw_pathname(talloc_tos(), "wtmpx", wx_pathname); - if (uname && wname) { - DEBUG(2,("utmp_update: uname:%s wname:%s\n", uname, wname)); -- } -+ STRUCT_UTMP *urc; - ++ setutxent(); ++ urc = pututxline(u); ++ endutxent(); ++ if (urc == NULL) { ++ DEBUG(2,("utmp_update: pututxline() failed\n")); ++ return; + } +- - /* - * Check for either uname or wname being empty. - * Some systems, such as Redhat 6, have a "utmpx.h" which doesn't - * define default filenames. - * Also, our local installation has not provided an override. - * Drop to non-x method. (E.g. RH6 has good defaults in "utmp.h".) - */ - if (!uname || !wname || (strlen(uname) == 0) || (strlen(wname) == 0)) { - utmp_nox_update(u, claim); - } else { - utmpxname(uname); - setutxent(); - uxrc = pututxline(&ux); - endutxent(); - if (uxrc == NULL) { - DEBUG(2,("utmp_update: pututxline() failed\n")); - return; - } - updwtmpx(wname, &ux); -+ setutxent(); -+ urc = pututxline(u); -+ endutxent(); -+ if (urc == NULL) { -+ DEBUG(2,("utmp_update: pututxline() failed\n")); -+ return; - } +- } -#endif /* HAVE_UTMPX_H */ } #if defined(HAVE_UT_UT_ID) /**************************************************************************** Encode the unique connection number into "ut_id". ****************************************************************************/ - -static int ut_id_encode(int i, char *fourbyte) +static void ut_id_encode(char *buf, int id, size_t buf_size) { - int nbase; - const char *ut_id_encstr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + const char ut_id_encstr[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; -/* - * 'ut_id_encstr' is the character set on which modulo arithmetic is done. - * Example: digits would produce the base-10 numbers from '001'. - */ - nbase = strlen(ut_id_encstr); -- ++ int nbase = sizeof(ut_id_encstr) - 1; ++ /* ++ * 'ut_id_encstr' is the character set on which modulo arithmetic is done. ++ * Example: digits would produce the base-10 numbers from '001'. ++ */ + - fourbyte[0] = ut_id_encstr[i % nbase]; - i /= nbase; - fourbyte[1] = ut_id_encstr[i % nbase]; - i /= nbase; - fourbyte[3] = ut_id_encstr[i % nbase]; - i /= nbase; - fourbyte[2] = ut_id_encstr[i % nbase]; - i /= nbase; - - /* we do not care about overflows as i is a random number */ - return 0; -+ int nbase = sizeof(ut_id_encstr) - 1; -+ /* -+ * 'ut_id_encstr' is the character set on which modulo arithmetic is done. -+ * Example: digits would produce the base-10 numbers from '001'. -+ */ -+ + for(int i = 0; i < buf_size; i++) { + buf[i] = ut_id_encstr[id % nbase]; + id /= nbase; + } } #endif /* defined(HAVE_UT_UT_ID) */ - /* fill a system utmp structure given all the info we can gather */ -static bool sys_utmp_fill(struct utmp *u, +static bool sys_utmp_fill(STRUCT_UTMP *u, const char *username, const char *hostname, const char *id_str, int id_num) { @@ -509,16 +434,16 @@ static bool sys_utmp_fill(struct utmp *u, * rather than to try to detect and optimise. */ #if defined(HAVE_UT_UT_USER) - utmp_strcpy(u->ut_user, username, sizeof(u->ut_user)); + strncpy(u->ut_user, username, sizeof(u->ut_user)); #elif defined(HAVE_UT_UT_NAME) - utmp_strcpy(u->ut_name, username, sizeof(u->ut_name)); + strncpy(u->ut_name, username, sizeof(u->ut_name)); #endif /* * ut_line: * If size limit proves troublesome, then perhaps use "ut_id_encode()". */ - utmp_strcpy(u->ut_line, id_str, sizeof(u->ut_line)); + strncpy(u->ut_line, id_str, sizeof(u->ut_line)); #if defined(HAVE_UT_UT_PID) u->ut_pid = getpid(); @@ -535,20 +460,23 @@ static bool sys_utmp_fill(struct utmp *u, u->ut_time = timeval.tv_sec; #elif defined(HAVE_UT_UT_TV) GetTimeOfDay(&timeval); - u->ut_tv = timeval; + u->ut_tv.tv_sec = timeval.tv_sec; + u->ut_tv.tv_usec = timeval.tv_usec; #else #error "with-utmp must have UT_TIME or UT_TV" #endif #if defined(HAVE_UT_UT_HOST) - utmp_strcpy(u->ut_host, hostname, sizeof(u->ut_host)); + if(hostname != NULL) { + strncpy(u->ut_host, hostname, sizeof(u->ut_host)); +#if defined(HAVE_UT_UT_SYSLEN) + u->ut_syslen = strlen(hostname) + 1; /* include trailing NULL */ -+#endif -+ } #endif ++ } ++#endif #if defined(HAVE_UT_UT_ID) - if (ut_id_encode(id_num, u->ut_id) != 0) { - DEBUG(1,("utmp_fill: cannot encode id %d\n", id_num)); - return False; - } + ut_id_encode(u->ut_id, id_num, sizeof(u->ut_id)); #endif return True; -@@ -561,7 +489,7 @@ static bool sys_utmp_fill(struct utmp *u, +@@ -561,7 +489,7 @@ void sys_utmp_yield(const char *username, const char * void sys_utmp_yield(const char *username, const char *hostname, const char *id_str, int id_num) { - struct utmp u; + STRUCT_UTMP u; ZERO_STRUCT(u); -@@ -587,7 +515,7 @@ void sys_utmp_yield(const char *username, const char *hostname, +@@ -587,7 +515,7 @@ void sys_utmp_claim(const char *username, const char * void sys_utmp_claim(const char *username, const char *hostname, const char *id_str, int id_num) { - struct utmp u; + STRUCT_UTMP u; ZERO_STRUCT(u); -diff --git a/source3/wscript b/source3/wscript -index 6209472c6c8..65961851e17 100644 ---- a/source3/wscript -+++ b/source3/wscript -@@ -807,34 +807,39 @@ msg.msg_accrightslen = sizeof(fd); +diff -Naurp a/source3/wscript b/source3/wscript +--- a/source3/wscript 2024-08-05 12:50:16.286549000 -0400 ++++ b/source3/wscript 2024-08-05 13:02:31.909769000 -0400 +@@ -804,34 +804,38 @@ msg.msg_accrightslen = sizeof(fd); if Options.options.with_utmp: conf.env.with_utmp = True - if not conf.CHECK_HEADERS('utmp.h'): conf.env.with_utmp = False -- conf.CHECK_FUNCS('pututline pututxline updwtmp updwtmpx getutmpx getutxent') +- conf.CHECK_FUNCS('pututline pututxline updwtmp updwtmpx getutmpx') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_name', headers='utmp.h', + if not conf.CHECK_HEADERS('utmpx.h') and not conf.CHECK_HEADERS('utmp.h'): + conf.env.with_utmp = False + if conf.CONFIG_SET('HAVE_UTMPX_H'): + conf.DEFINE('STRUCT_UTMP', 'struct utmpx') + elif conf.CONFIG_SET('HAVE_UTMP_H'): + conf.DEFINE('STRUCT_UTMP', 'struct utmp') + conf.CHECK_FUNCS('pututxline getutxid getutxline updwtmpx getutmpx setutxent endutxent') + conf.CHECK_FUNCS('pututline getutid getutline updwtmp getutmp setutent endutent') + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_name', headers='utmpx.h utmp.h', define='HAVE_UT_UT_NAME') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_user', headers='utmp.h', -+ + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_user', headers='utmpx.h utmp.h', define='HAVE_UT_UT_USER') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_id', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_id', headers='utmpx.h utmp.h', define='HAVE_UT_UT_ID') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_host', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_host', headers='utmpx.h utmp.h', define='HAVE_UT_UT_HOST') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_time', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_time', headers='utmpx.h utmp.h', define='HAVE_UT_UT_TIME') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_tv', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_tv', headers='utmpx.h utmp.h', define='HAVE_UT_UT_TV') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_type', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_type', headers='utmpx.h utmp.h', define='HAVE_UT_UT_TYPE') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_pid', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_pid', headers='utmpx.h utmp.h', define='HAVE_UT_UT_PID') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_exit.e_exit', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_exit.e_exit', headers='utmpx.h utmp.h', define='HAVE_UT_UT_EXIT') - conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_syslen', headers='utmpx.h', - define='HAVE_UX_UT_SYSLEN') - conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_host', headers='utmpx.h', - define='HAVE_UX_UT_HOST') + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_syslen', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_SYSLEN') conf.CHECK_CODE('struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);', 'PUTUTLINE_RETURNS_UTMP', headers='utmp.h', msg="Checking whether pututline returns pointer") - conf.CHECK_SIZEOF(['((struct utmp *)NULL)->ut_line'], headers='utmp.h', + conf.CHECK_SIZEOF(['((STRUCT_UTMP *)NULL)->ut_line'], headers='utmpx.h utmp.h', define='SIZEOF_UTMP_UT_LINE', critical=False) if not conf.CONFIG_SET('SIZEOF_UTMP_UT_LINE'): conf.env.with_utmp = False --- -2.37.1 - diff --git a/net/samba420/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch b/net/samba420/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch index b66e24b27910..064eeb0cfa48 100644 --- a/net/samba420/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch +++ b/net/samba420/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch @@ -1,101 +1,94 @@ From 6e79023af14210a6435ab18ada8097253b8b16b6 Mon Sep 17 00:00:00 2001 From: "Timur I. Bakeyev" Date: Mon, 31 May 2021 01:38:49 +0200 Subject: [PATCH 25/28] From d9b748869a8f4018ebee302aae8246bf29f60309 Mon Sep 17 00:00:00 2001 From: "Timur I. Bakeyev" Date: Fri, 1 Jun 2018 01:35:08 +0800 Subject: [PATCH] vfs_fruit: allow broken AFP_Signature where the first byte is 0 FreeBSD bug ... caused the first byte of the AFP_AfpInfo xattr to be 0 instead of 'A'. This hack allows such broken AFP_AfpInfo blobs to be parsed by afpinfo_unpack(). FreeBSD Bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228462 Signed-off-by: Ralph Boehme Signed-off-by: Timur I. Bakeyev --- - source3/lib/adouble.c | 20 ++++++++++++++++---- - source3/modules/vfs_fruit.c | 19 ++++++++++++++++++- - 2 files changed, 34 insertions(+), 5 deletions(-) + source3/lib/adouble.c | 19 +++++++++++++++---- + source3/modules/vfs_fruit.c | 19 ++++++++++++++++++- + 2 files changed, 33 insertions(+), 5 deletions(-) -diff --git a/source3/lib/adouble.c b/source3/lib/adouble.c -index aa78007dadd..ca99dcff193 100644 ---- a/source3/lib/adouble.c -+++ b/source3/lib/adouble.c -@@ -2830,6 +2830,8 @@ ssize_t afpinfo_pack(const AfpInfo *ai, char *buf) +diff -Naurp a/source3/lib/adouble.c b/source3/lib/adouble.c +--- a/source3/lib/adouble.c 2024-02-02 04:33:51.172489400 -0500 ++++ b/source3/lib/adouble.c 2024-08-05 13:53:43.952688000 -0400 +@@ -2821,6 +2821,8 @@ ssize_t afpinfo_pack(const AfpInfo *ai, char *buf) return AFP_INFO_SIZE; } +#define BROKEN_FREEBSD_AFP_Signature 0x00465000 + /** * Unpack a buffer into a AfpInfo structure * -@@ -2847,12 +2849,22 @@ AfpInfo *afpinfo_unpack(TALLOC_CTX *ctx, const void *data) - ai->afpi_Version = RIVAL(data, 4); - ai->afpi_BackupTime = RIVAL(data, 12); - memcpy(ai->afpi_FinderInfo, (const char *)data + 16, -- sizeof(ai->afpi_FinderInfo)); -+ sizeof(ai->afpi_FinderInfo)); +@@ -2841,11 +2843,20 @@ AfpInfo *afpinfo_unpack(TALLOC_CTX *ctx, const void *d + sizeof(ai->afpi_FinderInfo)); + + if (validate) { +- if (ai->afpi_Signature != AFP_Signature +- || ai->afpi_Version != AFP_Version) +- { +- DEBUG(1, ("Bad AfpInfo signature or version\n")); ++ if (ai->afpi_Signature != AFP_Signature) { ++ DBG_WARNING("Bad AFP signature [%x]\n", ai->afpi_Signature); + -+ if (ai->afpi_Signature != AFP_Signature) { -+ DBG_WARNING("Bad AFP signature [%x]\n", ai->afpi_Signature); ++ if (ai->afpi_Signature != BROKEN_FREEBSD_AFP_Signature) { ++ DBG_ERR("Bad AfpInfo signature\n"); ++ TALLOC_FREE(ai); ++ return NULL; ++ } ++ } + -+ if (ai->afpi_Signature != BROKEN_FREEBSD_AFP_Signature) { -+ DBG_ERR("Bad AfpInfo signature\n"); -+ TALLOC_FREE(ai); ++ if (ai->afpi_Version != AFP_Version) { ++ DBG_ERR("Bad AfpInfo version\n"); + TALLOC_FREE(ai); + return NULL; -+ } -+ } - -- if (ai->afpi_Signature != AFP_Signature -- || ai->afpi_Version != AFP_Version) { -- DEBUG(1, ("Bad AfpInfo signature or version\n")); -+ if (ai->afpi_Version != AFP_Version) { -+ DBG_ERR("Bad AfpInfo version\n"); - TALLOC_FREE(ai); -+ return NULL; - } - - return ai; -diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c -index 303df41258e..428f95fd7d9 100644 ---- a/source3/modules/vfs_fruit.c -+++ b/source3/modules/vfs_fruit.c -@@ -2300,6 +2300,7 @@ static ssize_t fruit_pread_meta_stream(vfs_handle_struct *handle, + } + } else { + ai->afpi_Signature = AFP_Signature; +diff -Naurp a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c +--- a/source3/modules/vfs_fruit.c 2024-02-02 04:33:51.228489600 -0500 ++++ b/source3/modules/vfs_fruit.c 2024-08-05 13:12:29.220129000 -0400 +@@ -2305,6 +2305,7 @@ static ssize_t fruit_pread_meta_stream(vfs_handle_stru size_t n, off_t offset) { struct fio *fio = fruit_get_complete_fio(handle, fsp); + char *p = (char *)data; ssize_t nread; int ret; -@@ -2308,7 +2309,23 @@ static ssize_t fruit_pread_meta_stream(vfs_handle_struct *handle, +@@ -2313,7 +2314,23 @@ static ssize_t fruit_pread_meta_stream(vfs_handle_stru } nread = SMB_VFS_NEXT_PREAD(handle, fsp, data, n, offset); - if (nread == -1 || nread == n) { + if (nread <= 0) { + /* + * fruit_meta_open_stream() removes O_CREAT flag + * from xattr open. This results in vfs_streams_xattr + * not generating an FSP extension for the files_struct + * and causes subsequent pread() of stream to return + * nread=0 if pread() occurs before pwrite(). + */ + return nread; + } + + if (nread == n) { + if (offset == 0 && nread > 3 && p[0] == 0 && p[1] == 'F' && p[2] == 'P') { + DBG_NOTICE("Fixing AFP_Info of [%s]\n", + fsp_str_dbg(fsp)); + p[0] = 'A'; + } return nread; } --- -2.37.1 - diff --git a/net/samba420/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch b/net/samba420/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch index 109b3eb82c79..f2dd827cabba 100644 --- a/net/samba420/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch +++ b/net/samba420/files/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch @@ -1,932 +1,921 @@ 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 + + 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(+) - create mode 100644 docs-xml/manpages/vfs_freebsd.8.xml - create mode 100644 source3/modules/vfs_freebsd.c -diff --git a/docs-xml/manpages/vfs_freebsd.8.xml b/docs-xml/manpages/vfs_freebsd.8.xml -new file mode 100644 -index 00000000000..6640a1c51f7 ---- /dev/null -+++ b/docs-xml/manpages/vfs_freebsd.8.xml +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 --git a/docs-xml/wscript_build b/docs-xml/wscript_build -index c8c4b68e514..4dc4b34ca40 100644 ---- a/docs-xml/wscript_build -+++ b/docs-xml/wscript_build -@@ -86,6 +86,7 @@ vfs_module_manpages = ['vfs_acl_tdb', +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 --git a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c -new file mode 100644 -index 00000000000..07d26d9c516 ---- /dev/null -+++ b/source3/modules/vfs_freebsd.c +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 @@ -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)); + 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)); + 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)); + 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)); + 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)); + 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 --git a/source3/modules/wscript_build b/source3/modules/wscript_build -index ff318c3fa06..f88d054d524 100644 ---- a/source3/modules/wscript_build -+++ b/source3/modules/wscript_build -@@ -636,6 +636,13 @@ bld.SAMBA3_MODULE('vfs_delay_inject', +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', --- -2.37.1 - diff --git a/net/samba420/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch b/net/samba420/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch index be1aedaa4473..cda9c7ed1c95 100644 --- a/net/samba420/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch +++ b/net/samba420/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch @@ -1,149 +1,121 @@ -From 584c69e77abb537a7345222648a397a9963c01b7 Mon Sep 17 00:00:00 2001 -From: "Timur I. Bakeyev" -Date: Sat, 15 Oct 2022 04:02:43 +0200 -Subject: [PATCH 28/28] s3:lib:system - add FreeBSD proc_fd_pattern - -Add support for FreeBSD equivalent of /proc/self/fd through a special -fdescfs mount with option "nodup". This filesystem should be mounted -either to the private $PIDDIR/fd/ directory or to /dev/fd in order to -provide security and performance characteristics similar to Linux. - -Signed-off-by: Timur I. Bakeyev ---- - source3/lib/system.c | 108 ++++++++++++++++++++++++++++++++++--------- - 1 file changed, 87 insertions(+), 21 deletions(-) - -diff --git a/source3/lib/system.c b/source3/lib/system.c -index 00d31692e00..d22ec08361c 100644 ---- a/source3/lib/system.c -+++ b/source3/lib/system.c -@@ -1094,39 +1094,105 @@ int sys_get_number_of_cores(void) +--- source3/lib/system.c.orig 2024-02-02 10:33:51.188489400 +0100 ++++ source3/lib/system.c 2025-01-22 17:39:58.625028000 +0100 +@@ -1047,22 +1047,108 @@ } #endif --static struct proc_fd_pattern { -- const char *pattern; -- const char *test_path; --} proc_fd_patterns[] = { -- /* Linux */ -- { "/proc/self/fd/%d", "/proc/self/fd/0" }, -- { NULL, NULL }, +-bool sys_have_proc_fds(void) +static bool freebsd_fdesc_check(const char *pattern) -+{ + { +- static bool checked = false; +- static bool have_proc_fds = false; + char fdesc_path[PATH_MAX]; + int fd, fd2; + + fd = open(lp_pid_directory(), O_DIRECTORY); + if (fd == -1) { + DBG_ERR("%s: failed to open pid directory: %s\n", + lp_pid_directory(), strerror(errno)); + return false; + } + + snprintf(fdesc_path, sizeof(fdesc_path), pattern, fd); + + fd2 = open(fdesc_path, O_DIRECTORY); + if (fd2 == -1) { + /* + * Setting O_DIRECTORY on open of fdescfs mount + * without 'nodup' option will fail with ENOTDIR. + */ + if (errno == ENOTDIR) { + DBG_ERR("%s: fdescfs filesystem is not mounted with " + "'nodup' option. This specific mount option is " + "required in order to enable race-free handling " + "of paths.\n" + "See documentation for Samba's New VFS' " + "for more details. The 'nodup' mount option was " + "introduced in FreeBSD 13.\n", fdesc_path); + close(fd); + return false; + } + DBG_ERR("%s: failed to open fdescfs path: %s\n", + fdesc_path, strerror(errno)); + close(fd); + return false; + } + close(fd); + close(fd2); + + return true; +} + +static char* linux_pattern(char *buf, size_t bufsize) +{ + char proc_fd_path[PATH_MAX]; + const char *pattern = "/proc/self/fd/%lu"; -+ struct stat sb; -+ + struct stat sb; +- int ret; + +- if (checked) { +- return have_proc_fds; + snprintf(proc_fd_path, sizeof(proc_fd_path), pattern, 0); + if(stat(proc_fd_path, &sb) == 0) { + snprintf(buf, bufsize, "%s", pattern); + return buf; -+ } + } + return NULL; +} -+ + +- ret = stat("/proc/self/fd/0", &sb); +- have_proc_fds = (ret == 0); +- checked = true; +static char* freebsd_pattern(char *buf, size_t bufsize) { + const char** base; + const char* base_dir[] = { + lp_pid_directory(), /* This is a preferred location */ + "/dev", + NULL + }; -+ + +- return have_proc_fds; + for(base = &base_dir[0]; *base != NULL; base++) { + snprintf(buf, bufsize, "%s/fd/%%lu", *base); + if(freebsd_fdesc_check(buf)) { + return buf; + } + } + return NULL; +} + +static char* (*proc_fd_patterns[])(char *, size_t) = { + linux_pattern, + freebsd_pattern, + NULL - }; - --static const char *proc_fd_pattern; ++}; ++ +static char proc_fd_pattern_buf[PATH_MAX]; +static const char *proc_fd_pattern = NULL; - - bool sys_have_proc_fds(void) - { -- static bool checked; -- static bool have_proc_fds; -- struct proc_fd_pattern *p = NULL; -- struct stat sb; -- int ret; ++ ++bool sys_have_proc_fds(void) ++{ + static bool checked = false; + static bool have_proc_fds = false; + char* (**pattern_func)(char *, size_t) = NULL; - - if (checked) { - return have_proc_fds; - } - -- for (p = &proc_fd_patterns[0]; p->test_path != NULL; p++) { -- ret = stat(p->test_path, &sb); -- if (ret != 0) { -- continue; ++ ++ if (checked) { ++ return have_proc_fds; ++ } ++ + for (pattern_func = &proc_fd_patterns[0]; *pattern_func != NULL; pattern_func++) { + if((*pattern_func)(proc_fd_pattern_buf, sizeof(proc_fd_pattern_buf)) != NULL) { + have_proc_fds = true; + proc_fd_pattern = proc_fd_pattern_buf; + break; - } -- have_proc_fds = true; -- proc_fd_pattern = p->pattern; -- break; - } -- - checked = true; - return have_proc_fds; ++ } ++ } ++ ++ checked = true; ++ return have_proc_fds; } --- -2.37.1 - + + char *sys_proc_fd_path(int fd, struct sys_proc_fd_path_buf *buf) diff --git a/net/samba420/files/0100-Fix-pathref-handling-for-FreeBSD-13plus.patch b/net/samba420/files/0100-Fix-pathref-handling-for-FreeBSD-13plus.patch deleted file mode 100644 index 601a1c1c79d8..000000000000 --- a/net/samba420/files/0100-Fix-pathref-handling-for-FreeBSD-13plus.patch +++ /dev/null @@ -1,182 +0,0 @@ -https://bugzilla.samba.org/show_bug.cgi?id=15376 - ---- source3/modules/vfs_zfsacl.c 2023-11-27 13:09:10.612012900 +0100 -+++ source3/modules/vfs_zfsacl.c 2025-01-07 18:53:05.292522000 +0100 -@@ -169,6 +169,7 @@ - bool must_add_empty_ace = false; - struct zfsacl_config_data *config = NULL; - int fd; -+ char buf[PATH_MAX]; - - SMB_VFS_HANDLE_GET_DATA(handle, config, - struct zfsacl_config_data, -@@ -235,22 +236,49 @@ - 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 " -- "reside", fsp_str_dbg(fsp))); -- } else { -- DEBUG(9, ("acl(ACE_SETACL, %s): %s ", fsp_str_dbg(fsp), -- strerror(errno))); -- } -+ } -+ rv = acl(sys_proc_fd_path(fd, buf, sizeof(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 +310,48 @@ - struct files_struct *fsp, - ace_t **outbuf) - { -- int naces, rv; -+ int naces, rv = -1, fd = -1; - ace_t *acebuf = NULL; -- int fd; - -- fd = fsp_get_pathref_fd(fsp); -- if (fd == -1) { -+ -+ char buf[PATH_MAX]; -+ -+ -+ 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 ", -+ } -+ 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, sizeof(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 +360,37 @@ - return -1; - } - -- rv = facl(fd, ACE_GETACL, naces, acebuf); -- if (rv == -1) { -- DBG_DEBUG("acl(ACE_GETACL, %s): %s ", -- 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, sizeof(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/samba420/files/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch b/net/samba420/files/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch new file mode 100644 index 000000000000..3e2a44d1acab --- /dev/null +++ b/net/samba420/files/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch @@ -0,0 +1,508 @@ +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 +@@ -1165,47 +1165,52 @@ static NTSTATUS reopen_from_fsp(struct files_struct *d + bool *p_file_created) + { + NTSTATUS status; ++ int new_fd; + 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) { ++ return NT_STATUS_MORE_PROCESSING_REQUIRED; ++ } + +- 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; ++ 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; + +- 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; ++ } + +- fsp->fsp_flags.is_pathref = false; ++ 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; ++ } + +- 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; +- } ++ status = fd_close(fsp); ++ if (!NT_STATUS_IS_OK(status)) { ++ return status; ++ } + +- status = fd_close(fsp); +- if (!NT_STATUS_IS_OK(status)) { +- return status; +- } ++ fsp_set_fd(fsp, new_fd); ++ fsp->fsp_flags.is_pathref = false; + +- fsp_set_fd(fsp, new_fd); +- return NT_STATUS_OK; ++ return NT_STATUS_OK; ++ } + } + + /* diff --git a/net/samba420/files/0101-FreeBSD-add-fdescfs-paths-workaround.patch b/net/samba420/files/0101-FreeBSD-add-fdescfs-paths-workaround.patch new file mode 100644 index 000000000000..714ad6ae52ef --- /dev/null +++ b/net/samba420/files/0101-FreeBSD-add-fdescfs-paths-workaround.patch @@ -0,0 +1,71 @@ +# 2024-08-05 +# NOTE: Upstream Samba commit 9f63fad392f3 removed the static array defining Linux and FreeBSD +# fdescfs paths and hardcoded a Linux-specific /proc path, with the note that if any +# others need to be added, they can be done so via #ifdef's. This patch attempts to +# do that, but in a way that minimizes the necessary #ifdefs by defining a simplistic +# #define macro to generate the appropriate path for fdescfs based on the running OS. +# +# See: https://git.samba.org/?p=samba.git;a=commitdiff;h=9f63fad392f3cff34d6a8e318e0427499170c417 + +diff -Naurp a/lib/fuzzing/fuzz_regfio.c b/lib/fuzzing/fuzz_regfio.c +--- a/lib/fuzzing/fuzz_regfio.c 2024-02-02 04:33:50.952488000 -0500 ++++ b/lib/fuzzing/fuzz_regfio.c 2024-08-05 20:41:16.624793000 -0400 +@@ -31,7 +31,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) + { + fp = tmpfile(); + +- (void)snprintf(filename, sizeof(filename), "/proc/self/fd/%d", fileno(fp)); ++ (void)snprintf(filename, sizeof(filename), PROC_FD_PATH_MKSTR(%d), fileno(fp)); + + return 0; + } +diff -Naurp a/lib/replace/closefrom.c b/lib/replace/closefrom.c +--- a/lib/replace/closefrom.c 2024-02-02 04:33:50.984488200 -0500 ++++ b/lib/replace/closefrom.c 2024-08-05 20:41:16.625141000 -0400 +@@ -53,7 +53,7 @@ static int closefrom_procfs(int lower) + size_t i; + int ret = ENOMEM; + +- dirp = opendir("/proc/self/fd"); ++ dirp = opendir(PROC_FD_PATH_MKSTR()); + if (dirp == NULL) { + return errno; + } +diff -Naurp a/source3/include/proto.h b/source3/include/proto.h +--- a/source3/include/proto.h 2024-08-05 20:40:38.434560000 -0400 ++++ b/source3/include/proto.h 2024-08-05 20:41:26.063626000 -0400 +@@ -205,8 +205,21 @@ int sys_get_number_of_cores(void); + int sys_get_number_of_cores(void); + #endif + ++#ifdef __FreeBSD__ ++#define PROC_FD_PATH_STR "/compat/linux/dev/fd/" ++#define PROC_FD_PATH_SZ 42 ++#else /* Linux */ ++#define PROC_FD_PATH_STR "/proc/self/fd/" ++#define PROC_FD_PATH_SZ 35 ++#endif ++ ++#define _S(_t) #_t ++#define _V(...) _S(__VA_ARGS__) ++#define _X(_t) _t ++#define PROC_FD_PATH_MKSTR(_fd) _V(_X(PROC_FD_PATH_STR)_X(_fd)) ++ + struct sys_proc_fd_path_buf { +- char buf[35]; /* "/proc/self/fd/" + strlen(2^64) + 0-terminator */ ++ char buf[PROC_FD_PATH_SZ]; /* strlen(PROC_FD_PATH_STR) + strlen(2^64) + 0-terminator */ + }; + bool sys_have_proc_fds(void); + char *sys_proc_fd_path(int fd, struct sys_proc_fd_path_buf *buf); +diff -Naurp a/source3/lib/system.c b/source3/lib/system.c +--- a/source3/lib/system.c 2024-08-05 20:40:38.434801000 -0400 ++++ b/source3/lib/system.c 2024-08-05 20:41:16.625938000 -0400 +@@ -1068,7 +1068,7 @@ char *sys_proc_fd_path(int fd, struct sys_proc_fd_path + char *sys_proc_fd_path(int fd, struct sys_proc_fd_path_buf *buf) + { + int written = +- snprintf(buf->buf, sizeof(buf->buf), "/proc/self/fd/%d", fd); ++ snprintf(buf->buf, sizeof(buf->buf), PROC_FD_PATH_MKSTR(%d), fd); + + SMB_ASSERT(sys_have_proc_fds() && (written >= 0)); + diff --git a/net/samba420/files/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch b/net/samba420/files/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch new file mode 100644 index 000000000000..62bd8f0a1296 --- /dev/null +++ b/net/samba420/files/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch @@ -0,0 +1,53 @@ +# 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/samba420/pkg-plist b/net/samba420/pkg-plist index 93e4d4c12334..7700bff665bc 100644 --- a/net/samba420/pkg-plist +++ b/net/samba420/pkg-plist @@ -1,467 +1,470 @@ 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/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/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 %%SAMBA4_LIBDIR%%/libdcerpc.so %%SAMBA4_LIBDIR%%/libdcerpc.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.3 +%%SAMBA4_LIBDIR%%/libndr.so.4 %%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 %%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-samba4.so -%%SAMBA4_LIBDIR%%/private/libaddns-samba4.so -%%SAMBA4_LIBDIR%%/private/libads-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libasn1-samba4.so -%%SAMBA4_LIBDIR%%/private/libasn1util-samba4.so -%%SAMBA4_LIBDIR%%/private/libauth-samba4.so -%%SAMBA4_LIBDIR%%/private/libauth-unix-token-samba4.so -%%SAMBA4_LIBDIR%%/private/libauth4-samba4.so -%%SAMBA4_LIBDIR%%/private/libauthkrb5-samba4.so -%%SAMBA4_LIBDIR%%/private/libCHARSET3-samba4.so -%%SAMBA4_LIBDIR%%/private/libcli-cldap-samba4.so -%%SAMBA4_LIBDIR%%/private/libcli-ldap-common-samba4.so -%%SAMBA4_LIBDIR%%/private/libcli-ldap-samba4.so -%%SAMBA4_LIBDIR%%/private/libcli-nbt-samba4.so -%%SAMBA4_LIBDIR%%/private/libcli-smb-common-samba4.so -%%SAMBA4_LIBDIR%%/private/libcli-spoolss-samba4.so -%%SAMBA4_LIBDIR%%/private/libcliauth-samba4.so -%%SAMBA4_LIBDIR%%/private/libclidns-samba4.so -%%SAMBA4_LIBDIR%%/private/libcluster-samba4.so -%%SAMBA4_LIBDIR%%/private/libcmdline-contexts-samba4.so -%%SAMBA4_LIBDIR%%/private/libcmdline-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libcom-err-samba4.so -%%SAMBA4_LIBDIR%%/private/libcommon-auth-samba4.so -%%SAMBA4_LIBDIR%%/private/libdbwrap-samba4.so -%%SAMBA4_LIBDIR%%/private/libdcerpc-pkt-auth-samba4.so -%%SAMBA4_LIBDIR%%/private/libdcerpc-samba-samba4.so -%%SAMBA4_LIBDIR%%/private/libdcerpc-samba4.so -%%SAMBA4_LIBDIR%%/private/libdnsserver-common-samba4.so -%%SAMBA4_LIBDIR%%/private/libdsdb-module-samba4.so -%%SAMBA4_LIBDIR%%/private/libevents-samba4.so -%%SAMBA4_LIBDIR%%/private/libflag-mapping-samba4.so -%%SAMBA4_LIBDIR%%/private/libgenrand-samba4.so -%%SAMBA4_LIBDIR%%/private/libgensec-samba4.so -%%SAMBA4_LIBDIR%%/private/libgpext-samba4.so -%%SAMBA4_LIBDIR%%/private/libgpo-samba4.so -%%SAMBA4_LIBDIR%%/private/libgse-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libgss-preauth-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libgssapi-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhcrypto-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhdb-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libheimbase-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libheimntlm-samba4.so -%%SAMBA4_LIBDIR%%/private/libhttp-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhx509-samba4.so -%%SAMBA4_LIBDIR%%/private/libidmap-samba4.so -%%SAMBA4_LIBDIR%%/private/libinterfaces-samba4.so -%%SAMBA4_LIBDIR%%/private/libiov-buf-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libkdc-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libkrb5-samba4.so -%%SAMBA4_LIBDIR%%/private/libkrb5samba-samba4.so -%%SAMBA4_LIBDIR%%/private/libldbsamba-samba4.so -%%SAMBA4_LIBDIR%%/private/liblibcli-lsa3-samba4.so -%%SAMBA4_LIBDIR%%/private/liblibcli-netlogon3-samba4.so -%%SAMBA4_LIBDIR%%/private/liblibsmb-samba4.so -%%SAMBA4_LIBDIR%%/private/libLIBWBCLIENT-OLD-samba4.so -%%SAMBA4_LIBDIR%%/private/libmessages-dgm-samba4.so -%%SAMBA4_LIBDIR%%/private/libmessages-util-samba4.so -%%SAMBA4_LIBDIR%%/private/libMESSAGING-samba4.so -%%SAMBA4_LIBDIR%%/private/libMESSAGING-SEND-samba4.so -%%SAMBA4_LIBDIR%%/private/libmscat-samba4.so -%%SAMBA4_LIBDIR%%/private/libmsghdr-samba4.so -%%SAMBA4_LIBDIR%%/private/libmsrpc3-samba4.so -%%SAMBA4_LIBDIR%%/private/libndr-samba-samba4.so -%%SAMBA4_LIBDIR%%/private/libndr-samba4.so -%%SAMBA4_LIBDIR%%/private/libnet-keytab-samba4.so -%%SAMBA4_LIBDIR%%/private/libnetif-samba4.so -%%SAMBA4_LIBDIR%%/private/libnpa-tstream-samba4.so -%%SAMBA4_LIBDIR%%/private/libnss-info-samba4.so -%%SAMBA4_LIBDIR%%/private/libposix-eadb-samba4.so -%%SAMBA4_LIBDIR%%/private/libprinter-driver-samba4.so -%%SAMBA4_LIBDIR%%/private/libprinting-migrate-samba4.so -%%SAMBA4_LIBDIR%%/private/libREG-FULL-samba4.so -%%SAMBA4_LIBDIR%%/private/libregistry-samba4.so -%%SAMBA4_LIBDIR%%/private/libreplace-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libroken-samba4.so -%%SAMBA4_LIBDIR%%/private/libRPC-SERVER-LOOP-samba4.so -%%SAMBA4_LIBDIR%%/private/libRPC-WORKER-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamba-debug-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamba-modules-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamba-security-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamba-sockets-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamba3-util-samba4.so -%%SAMBA4_LIBDIR%%/private/libsamdb-common-samba4.so -%%SAMBA4_LIBDIR%%/private/libsecrets3-samba4.so -%%SAMBA4_LIBDIR%%/private/libserver-id-db-samba4.so -%%SAMBA4_LIBDIR%%/private/libserver-role-samba4.so -%%SAMBA4_LIBDIR%%/private/libshares-samba4.so -%%SAMBA4_LIBDIR%%/private/libsmb-transport-samba4.so -%%SAMBA4_LIBDIR%%/private/libsmbclient-raw-samba4.so -%%SAMBA4_LIBDIR%%/private/libsmbd-base-samba4.so -%%SAMBA4_LIBDIR%%/private/libsmbd-shim-samba4.so -%%SAMBA4_LIBDIR%%/private/libsmbpasswdparser-samba4.so -%%SAMBA4_LIBDIR%%/private/libsocket-blocking-samba4.so -%%SAMBA4_LIBDIR%%/private/libstable-sort-samba4.so -%%SAMBA4_LIBDIR%%/private/libsys-rw-samba4.so -%%SAMBA4_LIBDIR%%/private/libtalloc-report-printf-samba4.so -%%SAMBA4_LIBDIR%%/private/libtalloc-report-samba4.so -%%SAMBA4_LIBDIR%%/private/libtdb-wrap-samba4.so -%%SAMBA4_LIBDIR%%/private/libtime-basic-samba4.so -%%SAMBA4_LIBDIR%%/private/libtorture-samba4.so -%%SAMBA4_LIBDIR%%/private/libtrusts-util-samba4.so -%%SAMBA4_LIBDIR%%/private/libutil-reg-samba4.so -%%SAMBA4_LIBDIR%%/private/libutil-setid-samba4.so -%%SAMBA4_LIBDIR%%/private/libutil-tdb-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libwind-samba4.so -%%SAMBA4_LIBDIR%%/private/libxattr-tdb-samba4.so +%%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/libdcerpc-pkt-auth-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-samba-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-samba4-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-cluster-support-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-modules-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/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/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 @comment Setup files %%SPOTLIGHT%%%%DATADIR%%/samba/mdssvc/elasticsearch_mappings.json @comment Man pages share/man/man1/dbwrap_tool.1.gz share/man/man1/gentest.1.gz share/man/man1/locktest.1.gz share/man/man1/log2pcap.1.gz share/man/man1/masktest.1.gz share/man/man1/mdsearch.1.gz share/man/man1/mvxattr.1.gz share/man/man1/ndrdump.1.gz share/man/man1/nmblookup.1.gz share/man/man1/ntlm_auth.1.gz share/man/man1/oLschema2ldif.1.gz share/man/man1/profiles.1.gz share/man/man1/regdiff.1.gz share/man/man1/regpatch.1.gz share/man/man1/regshell.1.gz share/man/man1/regtree.1.gz share/man/man1/rpcclient.1.gz share/man/man1/samba-log-parser.1.gz share/man/man1/sharesec.1.gz share/man/man1/smbcacls.1.gz share/man/man1/smbclient.1.gz share/man/man1/smbcontrol.1.gz share/man/man1/smbcquotas.1.gz share/man/man1/smbget.1.gz share/man/man1/smbstatus.1.gz share/man/man1/smbtar.1.gz share/man/man1/smbtree.1.gz share/man/man1/testparm.1.gz share/man/man1/wbinfo.1.gz +share/man/man1/wspsearch.1.gz share/man/man5/lmhosts.5.gz share/man/man5/pam_winbind.conf.5.gz share/man/man5/smb.conf.5.gz share/man/man5/smb4.conf.5.gz share/man/man5/smbpasswd.5.gz share/man/man7/libsmbclient.7.gz share/man/man7/samba.7.gz share/man/man7/traffic_learner.7.gz share/man/man7/traffic_replay.7.gz share/man/man8/cifsdd.8.gz share/man/man8/eventlogadm.8.gz share/man/man8/idmap_ad.8.gz share/man/man8/idmap_autorid.8.gz share/man/man8/idmap_hash.8.gz share/man/man8/idmap_ldap.8.gz share/man/man8/idmap_nss.8.gz share/man/man8/idmap_rfc2307.8.gz share/man/man8/idmap_rid.8.gz share/man/man8/idmap_script.8.gz share/man/man8/idmap_tdb.8.gz share/man/man8/idmap_tdb2.8.gz share/man/man8/net.8.gz share/man/man8/nmbd.8.gz share/man/man8/pam_winbind.8.gz share/man/man8/pdbedit.8.gz -share/man/man8/samba_downgrade_db.8.gz share/man/man8/samba-bgqd.8.gz share/man/man8/samba-dcerpcd.8.gz share/man/man8/samba-regedit.8.gz share/man/man8/samba-tool.8.gz share/man/man8/samba.8.gz +share/man/man8/samba_downgrade_db.8.gz share/man/man8/smbd.8.gz share/man/man8/smbpasswd.8.gz share/man/man8/smbspool.8.gz %%CUPS%%share/man/man8/smbspool_krb5_wrapper.8.gz share/man/man8/vfs_acl_tdb.8.gz share/man/man8/vfs_acl_xattr.8.gz share/man/man8/vfs_aio_fork.8.gz share/man/man8/vfs_aio_pthread.8.gz share/man/man8/vfs_audit.8.gz share/man/man8/vfs_cacheprime.8.gz share/man/man8/vfs_cap.8.gz share/man/man8/vfs_catia.8.gz share/man/man8/vfs_commit.8.gz share/man/man8/vfs_crossrename.8.gz share/man/man8/vfs_default_quota.8.gz share/man/man8/vfs_dirsort.8.gz share/man/man8/vfs_expand_msdfs.8.gz share/man/man8/vfs_extd_audit.8.gz share/man/man8/vfs_fake_perms.8.gz share/man/man8/vfs_freebsd.8.gz share/man/man8/vfs_full_audit.8.gz share/man/man8/vfs_linux_xfs_sgid.8.gz share/man/man8/vfs_media_harmony.8.gz share/man/man8/vfs_offline.8.gz share/man/man8/vfs_preopen.8.gz share/man/man8/vfs_readahead.8.gz share/man/man8/vfs_readonly.8.gz share/man/man8/vfs_recycle.8.gz share/man/man8/vfs_shadow_copy.8.gz share/man/man8/vfs_shadow_copy2.8.gz share/man/man8/vfs_shell_snap.8.gz share/man/man8/vfs_streams_depot.8.gz share/man/man8/vfs_streams_xattr.8.gz share/man/man8/vfs_syncops.8.gz share/man/man8/vfs_time_audit.8.gz share/man/man8/vfs_unityed_media.8.gz share/man/man8/vfs_virusfilter.8.gz share/man/man8/vfs_widelinks.8.gz share/man/man8/vfs_worm.8.gz share/man/man8/vfs_xattr_tdb.8.gz share/man/man8/vfs_zfsacl.8.gz share/man/man8/winbind_krb5_locator.8.gz 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-samba4.so +%%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_EXT_SUFFIX%%.so -%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_EXT_SUFFIX%%-samba4.so +%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_EXT_SUFFIX%%-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%%%%SAMBA4_LIBDIR%%/private/libldb-cmdline-samba4.so -%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-key-value-samba4.so -%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-samba4.so -%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-samba4.so -%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-int-samba4.so +%%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 %%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbadd.1.gz %%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbdel.1.gz %%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbedit.1.gz %%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbmodify.1.gz %%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbrename.1.gz %%SAMBA4_BUNDLED_LDB%%share/man/man1/samba-ldbsearch.1.gz %%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbbackup.8.gz %%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz %%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz %%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz %%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_EXT_SUFFIX%%.so -%%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_EXT_SUFFIX%%-samba4.so -%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-samba4.so +%%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_EXT_SUFFIX%%-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_EXT_SUFFIX%%.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-samba4.so +%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so %%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_EXT_SUFFIX%%.so %%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py -%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-samba4.so +%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so diff --git a/net/samba420/pkg-plist.ad_dc b/net/samba420/pkg-plist.ad_dc index c70c88b4089a..6d5bda67c284 100644 --- a/net/samba420/pkg-plist.ad_dc +++ b/net/samba420/pkg-plist.ad_dc @@ -1,180 +1,180 @@ 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-samba4.so -%%SAMBA4_LIBDIR%%/private/libauthn-policy-util-samba4.so -%%SAMBA4_LIBDIR%%/private/libdlz-bind9-for-torture-samba4.so -%%SAMBA4_LIBDIR%%/private/libprocess-model-samba4.so -%%SAMBA4_LIBDIR%%/private/libservice-samba4.so -%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libHDB-SAMBA4-samba4.so -%%SAMBA4_LIBDIR%%/private/libdb-glue-samba4.so -%%SAMBA4_LIBDIR%%/private/libdfs-server-ad-samba4.so -%%SAMBA4_LIBDIR%%/private/libdsdb-garbage-collect-tombstones-samba4.so -%%SAMBA4_LIBDIR%%/private/libpac-samba4.so -%%SAMBA4_LIBDIR%%/private/libscavenge-dns-records-samba4.so +%%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/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/instancetype.so %%SAMBA4_MODULEDIR%%/ldb/lazy_commit.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/samba420/pkg-plist.cluster b/net/samba420/pkg-plist.cluster index c1027dfbc43c..2db6b02c0f19 100644 --- a/net/samba420/pkg-plist.cluster +++ b/net/samba420/pkg-plist.cluster @@ -1,76 +1,76 @@ @comment Cluster bin/ctdb bin/ctdb_diagnostics bin/ltdbtool bin/onnode bin/ping_pong etc/ctdb/ctdb-crash-cleanup.sh etc/ctdb/debug_locks.sh etc/ctdb/debug-hung-script.sh etc/ctdb/events/legacy/00.ctdb.script etc/ctdb/events/legacy/01.reclock.script etc/ctdb/events/legacy/05.system.script etc/ctdb/events/legacy/10.interface.script etc/ctdb/events/notification/README etc/ctdb/functions etc/ctdb/nfs-checks.d/00.portmapper.check etc/ctdb/nfs-checks.d/10.status.check etc/ctdb/nfs-checks.d/20.nfs.check etc/ctdb/nfs-checks.d/30.nlockmgr.check etc/ctdb/nfs-checks.d/40.mountd.check etc/ctdb/nfs-checks.d/50.rquotad.check etc/ctdb/nfs-checks.d/README etc/ctdb/nfs-linux-kernel-callout etc/ctdb/notify.sh etc/ctdb/statd-callout etc/sudoers.d/ctdb -lib/samba4/private/libctdb-event-client-samba4.so +lib/samba4/private/libctdb-event-client-private-samba.so libexec/ctdb/ctdb_killtcp libexec/ctdb/ctdb_lock_helper libexec/ctdb/ctdb_lvs libexec/ctdb/ctdb_mutex_fcntl_helper libexec/ctdb/ctdb_natgw libexec/ctdb/ctdb_recovery_helper libexec/ctdb/ctdb_takeover_helper libexec/ctdb/ctdb-config libexec/ctdb/ctdb-event libexec/ctdb/ctdb-eventd libexec/ctdb/ctdb-path libexec/ctdb/smnotify share/man/man1/ctdb_diagnostics.1.gz share/man/man1/ctdb.1.gz share/man/man1/ctdbd.1.gz share/man/man1/ltdbtool.1.gz share/man/man1/onnode.1.gz share/man/man1/ping_pong.1.gz share/man/man5/ctdb-script.options.5.gz share/man/man5/ctdb.conf.5.gz share/man/man5/ctdb.sysconfig.5.gz share/man/man7/ctdb-statistics.7.gz share/man/man7/ctdb-tunables.7.gz share/man/man7/ctdb.7.gz sbin/ctdbd share/ctdb/events/legacy/00.ctdb.script share/ctdb/events/legacy/01.reclock.script share/ctdb/events/legacy/05.system.script share/ctdb/events/legacy/06.nfs.script share/ctdb/events/legacy/10.interface.script share/ctdb/events/legacy/11.natgw.script share/ctdb/events/legacy/11.routing.script share/ctdb/events/legacy/13.per_ip_routing.script share/ctdb/events/legacy/20.multipathd.script share/ctdb/events/legacy/31.clamd.script share/ctdb/events/legacy/40.vsftpd.script share/ctdb/events/legacy/41.httpd.script share/ctdb/events/legacy/48.netbios.script share/ctdb/events/legacy/49.winbind.script share/ctdb/events/legacy/50.samba.script share/ctdb/events/legacy/60.nfs.script share/ctdb/events/legacy/70.iscsi.script share/ctdb/events/legacy/91.lvs.script @dir /var/lib/ctdb/volatile @dir /var/lib/ctdb/state @dir /var/lib/ctdb/persistent @dir /var/lib/ctdb @dir /var/lib @dir /var/run/ctdb diff --git a/net/samba420/pkg-plist.python b/net/samba420/pkg-plist.python index 3a2a4f487477..3a9a2eb2f87c 100644 --- a/net/samba420/pkg-plist.python +++ b/net/samba420/pkg-plist.python @@ -1,508 +1,505 @@ bin/smbtorture sbin/samba-gpupdate share/man/man1/smbtorture.1.gz share/man/man8/samba-gpupdate.8.gz include/samba4/policy.h lib/samba4/libsamba-policy%%PYTHON_EXT_SUFFIX%%.so lib/samba4/libsamba-policy%%PYTHON_EXT_SUFFIX%%.so.0 -lib/samba4/private/libsamba-net%%PYTHON_EXT_SUFFIX%%-samba4.so -lib/samba4/private/libsamba-python%%PYTHON_EXT_SUFFIX%%-samba4.so +lib/samba4/private/libsamba-net%%PYTHON_EXT_SUFFIX%%-private-samba.so +lib/samba4/private/libsamba-python%%PYTHON_EXT_SUFFIX%%-private-samba.so %%PKGCONFIGDIR%%/samba-policy%%PYTHON_EXT_SUFFIX%%.pc @comment Python block %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dckeytab%%PYTHON_EXT_SUFFIX%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/posix_eadb%%PYTHON_EXT_SUFFIX%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_native%%PYTHON_EXT_SUFFIX%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_tdb%%PYTHON_EXT_SUFFIX%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb_dns%%PYTHON_EXT_SUFFIX%%.so %%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/__init__.py %%PYTHON_SITELIBDIR%%/samba/_glue%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/_ldb%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/auth%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/auth_util.py %%PYTHON_SITELIBDIR%%/samba/colour.py %%PYTHON_SITELIBDIR%%/samba/common.py %%PYTHON_SITELIBDIR%%/samba/compression%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/credentials%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/crypto%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dbchecker.py %%PYTHON_SITELIBDIR%%/samba/dcerpc/__init__.py %%PYTHON_SITELIBDIR%%/samba/dcerpc/atsvc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/auth%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/base%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/claims%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dcerpc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dfs%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dns%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsp%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsserver%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/drsblobs%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/drsuapi%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/echo%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/epmapper%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/idmap%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/initshutdown%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/irpc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5ccache%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5pac%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/lsa%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/mdssvc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/messaging%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/mgmt%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/misc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/nbt%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/netlogon%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/ntlmssp%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/preg%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/samr%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/security%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/server_id%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/smb_acl%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/spoolss%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/srvsvc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/svcctl%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/unixinfo%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/winbind%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/windows_event_ids%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/winreg%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/winspool%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/witness%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/wkssvc%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/dcerpc/xattr%%PYTHON_EXT_SUFFIX%%.so %%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_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/getopt.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_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_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/graph.py %%PYTHON_SITELIBDIR%%/samba/hostconfig.py %%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/mdb_util.py %%PYTHON_SITELIBDIR%%/samba/messaging%%PYTHON_EXT_SUFFIX%%.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_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/net_s3%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/netbios%%PYTHON_EXT_SUFFIX%%.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/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/model.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/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/sites.py %%PYTHON_SITELIBDIR%%/samba/netcmd/spn.py %%PYTHON_SITELIBDIR%%/samba/netcmd/testparm.py -%%PYTHON_SITELIBDIR%%/samba/netcmd/user.py %%PYTHON_SITELIBDIR%%/samba/netcmd/validators.py %%PYTHON_SITELIBDIR%%/samba/netcmd/visualize.py %%PYTHON_SITELIBDIR%%/samba/ntacls.py %%PYTHON_SITELIBDIR%%/samba/ntstatus%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/param%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/policies.py %%PYTHON_SITELIBDIR%%/samba/policy%%PYTHON_EXT_SUFFIX%%.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_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/remove_dc.py %%PYTHON_SITELIBDIR%%/samba/reparse_symlink%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/safe_tarfile.py %%PYTHON_SITELIBDIR%%/samba/samba3/__init__.py %%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_cwrapper%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_internal.py %%PYTHON_SITELIBDIR%%/samba/samba3/mdscli%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/param%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/passdb%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/smbconf%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/samba3/smbd%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/samdb.py %%PYTHON_SITELIBDIR%%/samba/schema.py %%PYTHON_SITELIBDIR%%/samba/sd_utils.py %%PYTHON_SITELIBDIR%%/samba/security%%PYTHON_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/sites.py %%PYTHON_SITELIBDIR%%/samba/smbconf%%PYTHON_EXT_SUFFIX%%.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/downgradedatabase.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/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/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/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/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_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/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/device_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/etype_tests.py %%PYTHON_SITELIBDIR%%/samba/tests/krb5/fast_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/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/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/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.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/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/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_base.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_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/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_check_password_script.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/security.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/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_EXT_SUFFIX%%.so %%PYTHON_SITELIBDIR%%/samba/xattr.py @dir %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool @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 @dir %%PYTHON_SITELIBDIR%%/samba/dcerpc @dir %%PYTHON_SITELIBDIR%%/samba