PK
œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Notice: ob_end_clean(): Failed to delete buffer. No buffer to delete in /home/telusvwg/public_html/da754d/index.php on line 8
| Dir : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/internals/ |
| Server: Linux premium279.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64 IP: 66.29.132.192 |
| Dir : //opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/internals/auth_protocol.py |
import asyncio
import socket
import logging
import struct
logger = logging.getLogger(__name__)
class UnixSocketAuthProtocol(asyncio.Protocol):
"""
This protocol uses SO_PEERCRED attribute of unix socket
to get authentication data (pid, uid, gid)
After connect, this values are stored in object's
_pid, _uid, _gid attributes
"""
# ucred struct format (3 integers)
# struct ucred
# {
# pid_t pid; /* PID of sending process. */
# uid_t uid; /* UID of sending process. */
# gid_t gid; /* GID of sending process. */
# };
#
STRUCT_FORMAT = "3i"
def connection_made(self, transport):
self._transport = transport
conn = self._transport.get_extra_info("socket")
creds = conn.getsockopt(
socket.SOL_SOCKET,
socket.SO_PEERCRED,
struct.calcsize(self.STRUCT_FORMAT),
)
self._pid, self._uid, self._gid = struct.unpack(
self.STRUCT_FORMAT, creds
)
logger.debug(
"New socket connection from pid=%s, uid=%s, gid=%s",
self._pid,
self._uid,
self._gid,
)