On Aug 28, 2019 5:39 PM, Allan Streib <astr...@indiana.edu> wrote: > > Allan Streib <astr...@indiana.edu> writes: > > > I see that fstat -u _ldapd always ends at FD 119 when the hang occurs: > > > > [...] > > _ldapd ldapd 42641 117* internet stream tcp 0x0 172.29.202.69:389 > > <-- 172.29.200.108:47864 > > _ldapd ldapd 42641 118* internet stream tcp 0x0 172.29.202.69:389 > > <-- 172.29.200.104:56746 > > _ldapd ldapd 42641 119* internet stream tcp 0x0 172.29.202.69:389 > > <-- 172.29.200.106:40436 > > > > I tried the following: > > > > Gave _ldapd a login class of "ldap" > > > > Added to login.conf: > > > > ldap:\ > > :openfiles=512:\ > > :tc=daemon: > > > > restart ldapd. > > > > Still hangs with fstat output the same. > > OK I apparently misunderstand how login.conf works. I had assumed that > the above would give the "ldap" class an openfiles limit of 512 and > everything else as defined for the "daemon" class. My daemon entry > looked like this: > > daemon:\ > :ignorenologin:\ > :datasize=infinity:\ > :maxproc=infinity:\ > :openfiles-max=1024:\ > :openfiles-cur=128:\ > :stacksize-cur=8M:\ > :localcipher=blowfish,a:\ > :tc=default: > > However apprently the daemon class openfiles-cur=128 was being enforced; > I changed that to 512 as a test, restarted ldapd, and now fstat is > showing around 170 FDs for _ldapd and that seems to be where it's > stabilizing, and the hangs are not occuring. > > The login.conf man page says that tc "Interpolate/expands records from > corresponding login.conf. See getcap(3)." > > What I'm seeing seems to indicate it's working backwards from what the > "Override resource limits" comment indicates above the bgpd and unbound > classes, which I used as a model, but maybe I'm missing something? > > I include the entire login.conf below, with my current openfiles-cur > setting for the daemon class. > > Allan > > > > > > # $OpenBSD: login.conf,v 1.9 2017/02/06 18:11:33 sthen Exp $ > > # > # Sample login.conf file. See login.conf(5) for details. > # > > # > # Standard authentication styles: > # > # passwd Use only the local password file > # chpass Do not authenticate, but change users password (change > # the YP password if the user has one, else change the > # local password) > # lchpass Do not login; change user's local password instead > # radius Use radius authentication > # reject Use rejected authentication > # skey Use S/Key authentication > # activ ActivCard X9.9 token authentication > # crypto CRYPTOCard X9.9 token authentication > # snk Digital Pathways SecureNet Key authentication > # tis TIS Firewall Toolkit authentication > # token Generic X9.9 token authentication > # yubikey YubiKey authentication > # > > # Default allowed authentication styles > auth-defaults:auth=passwd,skey: > > # Default allowed authentication styles for authentication type ftp > auth-ftp-defaults:auth-ftp=passwd: > > # > # The default values > # To alter the default authentication types change the line: > # :tc=auth-defaults:\ > # to be read something like: (enables passwd, "myauth", and activ) > # :auth=passwd,myauth,activ:\ > # Any value changed in the daemon class should be reset in default > # class. > # > default:\ > :path=/usr/bin /bin /usr/sbin /sbin /usr/X11R6/bin /usr/local/bin > /usr/local/sbin:\ > :umask=022:\ > :datasize-max=768M:\ > :datasize-cur=768M:\ > :maxproc-max=256:\ > :maxproc-cur=128:\ > :openfiles-max=1024:\ > :openfiles-cur=512:\ > :stacksize-cur=4M:\ > :localcipher=blowfish,a:\ > :tc=auth-defaults:\ > :tc=auth-ftp-defaults: > > # > # Settings used by /etc/rc and root > # This must be set properly for daemons started as root by inetd as well. > # Be sure reset these values back to system defaults in the default class! > # > daemon:\ > :ignorenologin:\ > :datasize=infinity:\ > :maxproc=infinity:\ > :openfiles-max=1024:\ > :openfiles-cur=512:\ > :stacksize-cur=8M:\ > :localcipher=blowfish,a:\ > :tc=default: > > # > # Staff have fewer restrictions and can login even when nologins are set. > # > staff:\ > :datasize-cur=1536M:\ > :datasize-max=infinity:\ > :maxproc-max=512:\ > :maxproc-cur=256:\ > :ignorenologin:\ > :requirehome@:\ > :tc=default: > > # > # Authpf accounts get a special motd and shell > # > authpf:\ > :welcome=/etc/motd.authpf:\ > :shell=/usr/sbin/authpf:\ > :tc=default: > > # > # Building ports with DPB uses raised limits > # > pbuild:\ > :datasize-max=infinity:\ > :datasize-cur=4096M:\ > :maxproc-max=1024:\ > :maxproc-cur=256:\ > :tc=default: > > # > # Override resource limits for certain daemons started by rc.d(8) > # > bgpd:\ > :openfiles=512:\ > :tc=daemon: > > unbound:\ > :openfiles=512:\ > :tc=daemon: > > ldap:\ > :openfiles=512:\ > :tc=daemon: >
May need to use rcctl to change it's class to ldap. Untested: rcctl set ldapd class ldap Edgar