diff --git a/src/udscs.c b/src/udscs.c index c439f23cade4eb02bfc9c68d06674ef41485722b..a77da99da06ba41eb0b94cee716e8943998b1efd 100644 --- a/src/udscs.c +++ b/src/udscs.c @@ -490,9 +490,9 @@ void udscs_destroy_server(struct udscs_server *server) free(server); } -struct ucred udscs_get_peer_cred(struct udscs_connection *conn) +int udscs_get_peer_pid(struct udscs_connection *conn) { - return conn->peer_cred; + return (int)conn->peer_cred.pid; } static void udscs_server_accept(struct udscs_server *server) { @@ -541,7 +541,7 @@ static void udscs_server_accept(struct udscs_server *server) { if (server->debug) syslog(LOG_DEBUG, "new client accepted: %p, pid: %d", - new_conn, (int)new_conn->peer_cred.pid); + new_conn, udscs_get_peer_pid(new_conn)); if (server->connect_callback) server->connect_callback(new_conn); diff --git a/src/udscs.h b/src/udscs.h index 48ecf9051dad742da93e66dc16abececc2ab3e2c..4f47b7f8edbcb89b2507df2f6cef845bb932feb4 100644 --- a/src/udscs.h +++ b/src/udscs.h @@ -171,8 +171,8 @@ int udscs_server_fill_fds(struct udscs_server *server, fd_set *readfds, void udscs_server_handle_fds(struct udscs_server *server, fd_set *readfds, fd_set *writefds); -/* Returns the peer's user credentials. */ -struct ucred udscs_get_peer_cred(struct udscs_connection *conn); +/* Returns the peer's PID. */ +int udscs_get_peer_pid(struct udscs_connection *conn); #endif diff --git a/src/vdagentd/vdagentd.c b/src/vdagentd/vdagentd.c index 682761a3fa17ec620445bf8a8ec2431e644b9f09..438e9ee13b50ff7570211b8b3cdc9ccf613d0b7d 100644 --- a/src/vdagentd/vdagentd.c +++ b/src/vdagentd/vdagentd.c @@ -852,7 +852,7 @@ static void agent_connect(struct udscs_connection *conn) } if (session_info) { - uint32_t pid = udscs_get_peer_cred(conn).pid; + uint32_t pid = udscs_get_peer_pid(conn); agent_data->session = session_info_session_for_pid(session_info, pid); }