diff options
author | Maksim Yevmenkin <emax@FreeBSD.org> | 2005-12-06 17:56:36 +0000 |
---|---|---|
committer | Maksim Yevmenkin <emax@FreeBSD.org> | 2005-12-06 17:56:36 +0000 |
commit | d1c004f7d195dd030d4ae0b637271896cf60cf55 (patch) | |
tree | fb49b5260c303252ffc020521385ecddc194bd1e /usr.sbin/bluetooth/sdpd/sur.c | |
parent | b6c63e2a818960d99cb57ebda3d64a2796c121e0 (diff) |
Teach sdpd(8) to check peer's credentials before accepting request to
register, remove or change services in the local database. For now only
accept the request if the peer has effective user ID the same as 'root'
user ID.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=153176
Diffstat (limited to 'usr.sbin/bluetooth/sdpd/sur.c')
-rw-r--r-- | usr.sbin/bluetooth/sdpd/sur.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/bluetooth/sdpd/sur.c b/usr.sbin/bluetooth/sdpd/sur.c index 6d7f778aa51a..143eaf3dbec9 100644 --- a/usr.sbin/bluetooth/sdpd/sur.c +++ b/usr.sbin/bluetooth/sdpd/sur.c @@ -58,7 +58,8 @@ server_prepare_service_unregister_response(server_p srv, int32_t fd) * value32 - uuid 4 bytes */ - if (!srv->fdidx[fd].control || req_end - req < 4) + if (!srv->fdidx[fd].control || + !srv->fdidx[fd].priv || req_end - req < 4) return (SDP_ERROR_CODE_INVALID_REQUEST_SYNTAX); /* Get handle */ |