summaryrefslogtreecommitdiff
path: root/usr.bin/sndiod
AgeCommit message (Collapse)Author
2018-01-10Simplify bounds checking of client numbers of channels and rate. FromAlexandre Ratchov
Michael W. Bombardieri, thanks.
2017-11-23Fix slot leak occuring when the device mode doesn't matchAlexandre Ratchov
the client mode. Found by landry@.
2017-11-20Free memory in the error code-path, when we run out of descriptorsAlexandre Ratchov
during initialization. From Michael W. Bombardieri, thanks.
2017-11-07prefill with silence the buffer where cmap_copy() stores samplesAlexandre Ratchov
rather than the client buffer. Fixes uninitialized data being treated as recorded samples when resampling or format conversions are involved but no mono->stereo conversion is used.
2017-11-03Prefill client rec buffer with silence. This is necessary becauseAlexandre Ratchov
certain channels don't get samples, for instance when mono->stereo conversion is disabled.
2017-07-20Add comments to explain correct code that might look wrong.Alexandre Ratchov
2017-07-20Fix debug printf used to report kernel bugs: print par.bps insteadAlexandre Ratchov
of par.bits. Found by coverity.
2017-02-15Fix the code supposed to abort when attempting to detach a slot that'sAlexandre Ratchov
not on the slot list (the check was a no-op). Found by jsg@, thanks!
2017-01-03Many typos in comments. From Michael W. Bombardieri. Thanks.Alexandre Ratchov
2017-01-03Use a goto to factor all calls to close() when listen_in() returnsAlexandre Ratchov
an error. From Michael W. Bombardieri. Thanks.
2016-10-27Fix many typos in comments, from Michael W. Bombardieri <mb at ii.net>Alexandre Ratchov
2016-10-20Move initialization of the helper process in its own routine to makeAlexandre Ratchov
code more readable. No bahavior change.
2016-10-20remove unused variablesAlexandre Ratchov
2016-06-30Use CLOCK_UPTIME instead of CLOCK_MONOTONIC, as the later makes jumpsAlexandre Ratchov
during suspend/resume cycles which triggers watchdog time-outs and in turn prevents sndiod from resuming.
2016-05-25Don't warn when read or write block at cycle boundary, this mayAlexandre Ratchov
happen when remote devices are used and is not an error.
2016-05-25Assert we're not freeing buffers we didn't allocateAlexandre Ratchov
2016-05-25Log files skipped during poll() as well, and flush the log bufferAlexandre Ratchov
right before we call poll().
2016-05-25Set initial mixer slot name to "prog" to make all slots visible inAlexandre Ratchov
audioctl and alike.
2016-03-23Remove unused arguments of dev_adjpar(), getbasepath() and allAlexandre Ratchov
slotops->onvol() implementations. From David CARLIER <devnexen at gmail.com>. Thanks.
2016-03-23Align comments. From David CARLIER <devnexen at gmail.com>. Thanks.Alexandre Ratchov
2016-01-18Allow time differences between two clock_gettime() calls toAlexandre Ratchov
be up to 60s without logging a warning.
2016-01-18Mention that "sndiod -d" doesn't daemonize and thatAlexandre Ratchov
the -d flag can be specified multiple times. Diff from Michael Reed <m.reed at mykolab.com>. Many thanks.
2016-01-09Make midi->tickets signed (sign is needed for arithmetics even if theAlexandre Ratchov
actual count is always positive). Found by David Coppa. Thanks.
2016-01-09Check in advance that the socket path is a directory and report theAlexandre Ratchov
error if it isn't. Fixes ugly/delayed error messages in this case.
2016-01-09Remove trailing '\n' from strings passed to err(1)Alexandre Ratchov
2016-01-09unexpand tabsAlexandre Ratchov
2016-01-08Fix changes that last commit undid by mistake, sorry.Alexandre Ratchov
2016-01-08Make code fit in 80 columns, remove trailing spaces & tabs.Alexandre Ratchov
2016-01-08move code to add a midi port in a new mkport() routineAlexandre Ratchov
2016-01-08Make mkopt() return NULL on failureAlexandre Ratchov
2016-01-08Unbreak support for multiple -L options.Alexandre Ratchov
2016-01-08don't call unlink() to delete socket as this would require cpathAlexandre Ratchov
2016-01-08No need to include sys/queue.hAlexandre Ratchov
2016-01-08Make listen_new_xxx() routines return NULL on failure and check theAlexandre Ratchov
returned value wheneverer they are called.
2016-01-08On programming error, flush log buffer and abort() rather thanAlexandre Ratchov
calling exit().
2016-01-08Use unorderd list to store sub-device configuration (we don't useAlexandre Ratchov
order anymore). No behaviour change.
2016-01-08remove redundant debug messageAlexandre Ratchov
2016-01-08Don't calculate clock deltas is there are no time-outs. Removes (harmless)Alexandre Ratchov
warnings about out-of-bounds clock deltas.
2016-01-07Move sndiod man page to section 8.Alexandre Ratchov
suggested by deraadt, fixes from jmc, ok millert
2015-12-25follwing -> followingAnthony J. Bentley
2015-12-25Don't set (unused) IPV6_V6ONLY option.Alexandre Ratchov
suggested by deraadt
2015-12-23Add pledge calls to both "helper" and "worker" processes.Alexandre Ratchov
ok deraadt, semarie
2015-12-23fix false-positive "uninitialized" gcc warningAlexandre Ratchov
2015-12-23Call getpwname() earlier, and if it fails, return the properAlexandre Ratchov
exit code, so that the failure gets reported by /etc/rc.
2015-12-23hide forgotten debug printfsAlexandre Ratchov
2015-12-21Don't attempt to remove unix socket as it's owned by root andAlexandre Ratchov
we've already dropped root privileges.
2015-12-20In case of a bug in sndiod, an attacker (a local user) could runAlexandre Ratchov
arbitrary code as user _sndio, i.e. get a second uid. Mitigate the risk by implementing initial privilege separation as follows. Break sndiod in two processes: a chroot()ed "worker" process processing input, and a non-chroot()ed "helper" process opening devices and passing descriptors to the worker. With help from benno, claudio, semarie and gilles. ok benno, semarie and tb
2015-12-14Work on a copy of the slowaccept flag instead of the global one asAlexandre Ratchov
it could change somewhere in the poll() loop.
2015-12-07reset the slowaccept flag in sock_close()Alexandre Ratchov
2015-11-26Cleanup in the opposite order as initialization, inline privdrop()Alexandre Ratchov
function. No behaviour change.