Date: Thu, 14 Feb 2013 23:08:53 +0100 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: Jilles Tjoelker <jilles@stack.nl> Cc: Konstantin Belousov <kostikbel@gmail.com>, freebsd-arch@FreeBSD.org Subject: Re: bindat(2) and connectat(2) syscalls for review. Message-ID: <20130214220853.GB1407@garage.freebsd.pl> In-Reply-To: <20130214185549.GA36288@stack.nl> References: <20130213230354.GC1375@garage.freebsd.pl> <20130213232004.GA2522@kib.kiev.ua> <20130213234030.GD1375@garage.freebsd.pl> <20130214185549.GA36288@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--/WwmFnJnmDyWGHa4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Feb 14, 2013 at 07:55:49PM +0100, Jilles Tjoelker wrote: > On Thu, Feb 14, 2013 at 12:40:31AM +0100, Pawel Jakub Dawidek wrote: > > On Thu, Feb 14, 2013 at 01:20:04AM +0200, Konstantin Belousov wrote: > > > On Thu, Feb 14, 2013 at 12:03:54AM +0100, Pawel Jakub Dawidek wrote: >=20 > > > > http://people.freebsd.org/~pjd/patches/bindconnectat.patch >=20 > > > > It implements bindat(2) and connectat(2) syscalls that will allow to > > > > manage UNIX domain sockets from within capability mode sandbox. >=20 > > > > They work just like any other *at(2) syscall and their prototypes l= ook > > > > like this: >=20 > > > > int bindat(int fd, int s, const struct sockaddr *addr, socklen_t a= ddrlen); > > > > int connectat(int fd, int s, const struct sockaddr *addr, socklen_= t addrlen); >=20 > > > > Where 'fd' is directory descriptor. The only supported socket domai= n is > > > > PF_LOCAL. >=20 > > > > The audit subsystem was updated to audit the new syscalls properly. >=20 > > > > Comments and reviews are welcome. >=20 > > > Looking only at prototypes, I think it is useful to add at last the f= lags > > > argument. The first application of it is for O_CLOEXEC-like flag. >=20 > > And this flag should be applied to? >=20 > > Note that those syscalls don't create new descriptors, they operate on > > existing descriptors (directory descriptor and socket descriptor) that > > should eventually have close-on-exec flag set if required. >=20 > A flag parameter is a good thing; you may not know yet what you will > need it for. >=20 > Looking through some of the other *at calls, AT_SYMLINK_NOFOLLOW might > be interesting. bind(2) and connect(2) are used just fine currently without any flags. I'd like to see good example before I decide to add such argument. The AT_SYMLINK_NOFOLLOW flag is of no use here, it is used for syscalls that can operate on symlinks (you can chmod, chown or stat a symlink, so it does make sense there). --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://tupytaj.pl --/WwmFnJnmDyWGHa4 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlEdYHUACgkQForvXbEpPzShjgCfSTxr5EFKhV5OdLMiG5UzWT7t IHUAnRX+Bod+gyrmsTocpZZr29jSavLY =X6mU -----END PGP SIGNATURE----- --/WwmFnJnmDyWGHa4--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130214220853.GB1407>