Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/documentation/booksarch-handbookjail_index/es/changes/?format=api&page=2
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 134,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/changes/?format=api&page=3",
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/changes/?format=api",
    "results": [
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127625/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:53:10.618218Z",
            "action": 5,
            "target": "El código fuente de la parte de usuario del jail se encuentra en [.filename]#/usr/src/usr.sbin/jail#, y consisten en un fichero, [.filename]#jail.c#. El programa acepta estos argumentos: la ruta al jail, el nombre del host, la dirección IP, y el comando que se va a ejecutar.",
            "id": 563429,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563429/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127627/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:53:14.945302Z",
            "action": 2,
            "target": "Estructuras de Datos",
            "id": 563430,
            "action_name": "Translation changed",
            "url": "https://translate-dev.freebsd.org/api/changes/563430/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127629/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:54:01.666382Z",
            "action": 5,
            "target": "En [.filename]#jail.c#, la primera cosa a tener en cuenta es la declaración de una estructura importante `struct jail j;` que se incluye desde [.filename]#/usr/include/sys/jail.h#.",
            "id": 563431,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563431/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127631/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:54:12.437437Z",
            "action": 5,
            "target": "La definición de la estructura `jail` es:",
            "id": 563432,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563432/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127633/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:54:17.840339Z",
            "action": 5,
            "target": "/usr/include/sys/jail.h:\n",
            "id": 563433,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563433/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127635/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:54:22.306152Z",
            "action": 5,
            "target": "struct jail {\n        u_int32_t       version;\n        char            *path;\n        char            *hostname;\n        u_int32_t       ip_number;\n};\n",
            "id": 563434,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563434/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127637/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:54:57.839312Z",
            "action": 5,
            "target": "Como puedes ver, hay una entrada por cada argumento pasado al programa man:jail[8], y de hecho, son establecidas durante su ejecución.",
            "id": 563435,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563435/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127639/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:55:06.708474Z",
            "action": 5,
            "target": "/usr/src/usr.sbin/jail/jail.c\nchar path[PATH_MAX];\n...\nif (realpath(argv[0], path) == NULL)\n    err(1, \"realpath: %s\", argv[0]);\nif (chdir(path) != 0)\n    err(1, \"chdir: %s\", path);\nmemset(&j, 0, sizeof(j));\nj.version = 0;\nj.path = path;\nj.hostname = argv[1];\n",
            "id": 563436,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563436/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127643/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:56:38.143878Z",
            "action": 5,
            "target": "Uno de los argumentos pasados al programa man:jail[8] es una dirección IP con la cual se puede acceder al jail desde la red. man:jail[8] traduces la dirección IP data a orden de bytes de host y después la almacena en `j` (la estructura `jail`).",
            "id": 563437,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563437/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127645/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T08:56:46.294117Z",
            "action": 5,
            "target": "/usr/src/usr.sbin/jail/jail.c:\nstruct in_addr in;\n...\nif (inet_aton(argv[2], &in) == 0)\n    errx(1, \"Could not make sense of ip-number: %s\", argv[2]);\nj.ip_number = ntohl(in.s_addr);\n",
            "id": 563438,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563438/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127647/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:01:09.629469Z",
            "action": 5,
            "target": "La función man:inet_aton[4] \"interpreta la cadena de caracteres especificada como una dirección de Internet, guardando la dirección en la estructura proporcionada\". El miembro `ip_number` en la estructura `jail` sólo se establece cuando la dirección IP guardada en la estructura `in`por parte de man:inet_aton[3] es traducida a orden de byte de host por man:ntohl[3].",
            "id": 563439,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563439/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127649/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:01:26.833187Z",
            "action": 2,
            "target": "Enjaulando el Proceso",
            "id": 563440,
            "action_name": "Translation changed",
            "url": "https://translate-dev.freebsd.org/api/changes/563440/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127651/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:02:16.547851Z",
            "action": 5,
            "target": "Por último, el programa de espacio de usuario enjaula el proceso. El jail se convierte en un proceso enjaulado también y luego ejecuta el comando dado utilizando man:execv[3].",
            "id": 563441,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563441/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127653/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:02:25.323814Z",
            "action": 5,
            "target": "/usr/src/usr.sbin/jail/jail.c\ni = jail(&j);\n...\nif (execv(argv[3], argv + 3) != 0)\n    err(1, \"execv: %s\", argv[3]);\n",
            "id": 563442,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563442/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127655/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:19:30.088617Z",
            "action": 5,
            "target": "Como puedes ver, se llama a la función `jail()`, y su argumento es la estructura `jail` que se ha rellenado con los argumentos pasados al programa. Por último, se ejecuta el programa que has especificado. Ahora discutiré cómo se implementa un jail en el núcleo.",
            "id": 563443,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563443/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127657/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:19:37.839619Z",
            "action": 2,
            "target": "Espacio del Núcleo",
            "id": 563444,
            "action_name": "Translation changed",
            "url": "https://translate-dev.freebsd.org/api/changes/563444/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127659/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:49:22.494249Z",
            "action": 5,
            "target": "Ahora echaremos un vistazo a [.filename]#/usr/src/sys/kern/kern_jail.c#. Este es el fichero donde se definen la llamada al sistema man:jail[2], las sysctls apropiadas, y las funciones de red.",
            "id": 563445,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563445/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127661/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:49:26.132703Z",
            "action": 5,
            "target": "Sysctls",
            "id": 563446,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563446/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127663/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:50:46.051958Z",
            "action": 5,
            "target": "En [.filename]#kern_jail.c#, se definen las siguientes sysctls:",
            "id": 563447,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563447/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127665/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:50:50.873057Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c:\nint     jail_set_hostname_allowed = 1;\nSYSCTL_INT(_security_jail, OID_AUTO, set_hostname_allowed, CTLFLAG_RW,\n    &jail_set_hostname_allowed, 0,\n    \"Processes in jail can set their hostnames\");\n",
            "id": 563448,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563448/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127667/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:50:57.592333Z",
            "action": 5,
            "target": "int     jail_socket_unixiproute_only = 1;\nSYSCTL_INT(_security_jail, OID_AUTO, socket_unixiproute_only, CTLFLAG_RW,\n    &jail_socket_unixiproute_only, 0,\n    \"Processes in jail are limited to creating UNIX/IPv4/route sockets only\");\n",
            "id": 563449,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563449/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127669/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:51:03.612907Z",
            "action": 5,
            "target": "int     jail_sysvipc_allowed = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, sysvipc_allowed, CTLFLAG_RW,\n    &jail_sysvipc_allowed, 0,\n    \"Processes in jail can use System V IPC primitives\");\n",
            "id": 563450,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563450/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127671/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:51:10.197106Z",
            "action": 5,
            "target": "static int jail_enforce_statfs = 2;\nSYSCTL_INT(_security_jail, OID_AUTO, enforce_statfs, CTLFLAG_RW,\n    &jail_enforce_statfs, 0,\n    \"Processes in jail cannot see all mounted file systems\");\n",
            "id": 563451,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563451/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127673/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:51:15.585752Z",
            "action": 5,
            "target": "int    jail_allow_raw_sockets = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, allow_raw_sockets, CTLFLAG_RW,\n    &jail_allow_raw_sockets, 0,\n    \"Prison root can create raw sockets\");\n",
            "id": 563452,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563452/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127675/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:51:21.222164Z",
            "action": 5,
            "target": "int    jail_chflags_allowed = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, chflags_allowed, CTLFLAG_RW,\n    &jail_chflags_allowed, 0,\n    \"Processes in jail can alter system file flags\");\n",
            "id": 563453,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563453/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127677/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:51:27.106446Z",
            "action": 5,
            "target": "int     jail_mount_allowed = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, mount_allowed, CTLFLAG_RW,\n    &jail_mount_allowed, 0,\n    \"Processes in jail can mount/unmount jail-friendly file systems\");\n",
            "id": 563454,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563454/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127679/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:55:23.072798Z",
            "action": 5,
            "target": "Se puede acceder a cada una de estas sysctls mediante el programa man:sysctl[8]. En el núcleo, estas sysctls específicas son reconocidas por su nombre. Por ejemplo, el nombre de la primera sysctl es `security.jail.set_hostname_allowed`.",
            "id": 563455,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563455/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127681/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T09:55:37.445231Z",
            "action": 5,
            "target": "La Llamada al Sistema man:jail[2]",
            "id": 563456,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563456/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127683/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:00:54.027149Z",
            "action": 5,
            "target": "Como todas las llamadas al sistema, la llamada al sistema man:jail[2] acepta dos argumentos, `struct thread *td` y `struct jail_args *uap`. `td` es un puntero a la estructura `thread` que describe al hilo llamante. En este contexto, `uap` es un puntero a la estructura que un puntero a la estructura `jail` pasada por [.filename]#jail.c# desde espacio de usuario. Cuando antes describí el programa de usuario, viste que se pasaba una estructura `jail`como argumento la llamada al sistema man:jail[2].",
            "id": 563457,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563457/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127685/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:00:58.550540Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c:\n/*\n * struct jail_args {\n *  struct jail *jail;\n * };\n */\nint\njail(struct thread *td, struct jail_args *uap)\n",
            "id": 563458,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563458/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127687/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:33:09.308238Z",
            "action": 5,
            "target": "Por lo tanto, se puede usar `uap->jail` para acceder a la estructura `jail` que se le ha pasado a la llamada al sistema. Después la llamada al sistema copia la estructura `jail` al espacio del núcleo usando la función man:copyin[9]. man:copyin[9] acepta tres argumentos: la dirección del dato que se va a copiar a espacio del núcleo, `uap->jail`, dónde almacenarlo, `j` y el tamaño del almacenamiento. La estructura `jail` a la que apunta `uap->jail` se copia al espacio del núcleo y se almacena en otra estructura `jail`, `j`.",
            "id": 563459,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563459/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127689/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:33:16.574873Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c:\nerror = copyin(uap->jail, &j, sizeof(j));\n",
            "id": 563460,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563460/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127691/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:37:19.149980Z",
            "action": 5,
            "target": "En [.filename]#jail.h# hay definida otra estructura importante. Es la estructura `prison`. La estructura `prison` se usa exclusivamente en espacio del núcleo. Aquí está la definición de la estructura `prison`.",
            "id": 563461,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563461/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127693/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:37:40.837104Z",
            "action": 37,
            "target": "/usr/include/sys/jail.h:\nstruct prison {\n        LIST_ENTRY(prison) pr_list;                     /* (a) all prisons */\n        int              pr_id;                         /* (c) prison id */\n        int              pr_ref;                        /* (p) refcount */\n        char             pr_path[MAXPATHLEN];           /* (c) chroot path */\n        struct vnode    *pr_root;                       /* (c) vnode to rdir */\n        char             pr_host[MAXHOSTNAMELEN];       /* (p) jail hostname */\n        u_int32_t        pr_ip;                         /* (c) ip addr host */\n        void            *pr_linux;                      /* (p) linux abi */\n        int              pr_securelevel;                /* (p) securelevel */\n        struct task      pr_task;                       /* (d) destroy task */\n        struct mtx       pr_mtx;\n      void            **pr_slots;                     /* (p) additional data */\n};\n",
            "id": 563462,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/563462/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127695/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:41:35.451370Z",
            "action": 5,
            "target": "Después la llamada al sistema man:jail[2] reserva memoria para una estructura `prison` y copia los datos entre la estructura `jail` y la estructura `prison`.",
            "id": 563463,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563463/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127697/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:41:40.843948Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c:\nMALLOC(pr, struct prison *, sizeof(*pr), M_PRISON, M_WAITOK | M_ZERO);\n...\nerror = copyinstr(j.path, &pr->pr_path, sizeof(pr->pr_path), 0);\nif (error)\n    goto e_killmtx;\n...\nerror = copyinstr(j.hostname, &pr->pr_host, sizeof(pr->pr_host), 0);\nif (error)\n     goto e_dropvnref;\npr->pr_ip = j.ip_number;\n",
            "id": 563464,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563464/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127699/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:42:24.602503Z",
            "action": 5,
            "target": "Después, discutiremos otra llamada al sistema importante, man:jail_attach[2], que implementa la función de introducir un proceso en el jail.",
            "id": 563465,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563465/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127701/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:42:30.015143Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c:\n/*\n * struct jail_attach_args {\n *      int jid;\n * };\n */\nint\njail_attach(struct thread *td, struct jail_attach_args *uap)\n",
            "id": 563466,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563466/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127703/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:45:17.087874Z",
            "action": 5,
            "target": "Esta llamada al sistema hace los cambios que permiten distinguir entre un proceso que esté dentro de un jail y otro que no lo esté. Para entender lo que man:jail_attach[2] hace por nosotros, se necesita cierta información previa.",
            "id": 563467,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563467/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127705/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:50:03.208037Z",
            "action": 5,
            "target": "En FreeBSD, cada hilo visible por el núcleo se identifica por su estructura `thread`, mientras que los procesos se describen mediante sus estructuras `proc`. Puedes encontrar las definiciones de las estructuras `thread` y `proc` en [.filename]#/usr/include/sys/proc.h#. Por ejemplo, el argumento `td` en cualquier llamada al sistema es en realidad un puntero a la estructura `thread` del hilo llamante, como se ha mencionado antes. El miembro `td_proc` en la estructura `thread` apuntada por `td` es un puntero a la estructura `proc` que representa el proceso que contiene el hilo representado por `td`. La estructura `proc` contiene miembros que pueden describir la identidad del propietario (`p_ucred`), los límites de recursos del proceso (`p_limit`), y demás. En la estructura `ucred` apuntada por el miembro `p_ucred` en la estructura `proc`, hay un puntero a la estructura `prison` (`cr_prison`).",
            "id": 563468,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563468/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127707/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:50:14.570483Z",
            "action": 5,
            "target": "/usr/include/sys/proc.h:\nstruct thread {\n    ...\n    struct proc *td_proc;\n    ...\n};\nstruct proc {\n    ...\n    struct ucred *p_ucred;\n    ...\n};\n/usr/include/sys/ucred.h\nstruct ucred {\n    ...\n    struct prison *cr_prison;\n    ...\n};\n",
            "id": 563469,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563469/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127709/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:57:22.502288Z",
            "action": 5,
            "target": "En [.filename]#kern_jail.c#, la función `jail()` llama a la función `jail_attach()` con un `jid` dado. Y `jail_attach()` llama a la función `change_root()` para cambiar el directorio raíz del proceso llamante. Después `jail_attach()` crea una nueva estructura `ucred`, y adjunta la nueva estructura `ucred` al proceso llamante después de que se haya adjuntado de forma exitosa la estructura `prison` a la estructura `ucred`. A partir de este momento, se reconoce que el proceso llamante está dentro de un jail. Cuando se llama a la rutina del núcleo `jailed()` con una estructura `ucred` de nueva creación como argumento, devuelve 1 para indicar que la credencial está conectada con un jail. El proceso ascendiente público de todos los procesos creados dentro de un jail, es el proceso que ejecuta man:jail[8], ya que invoca a la llamada al sistema man:jail[2]. Cuando se ejecuta un programa mediante man:execve[2], hereda la propiedad jailed de la estructura `ucred` de su padre, por lo tanto tiene una estrucutra `ucred`.",
            "id": 563470,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563470/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127711/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:57:37.006815Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c\nint\njail(struct thread *td, struct jail_args *uap)\n{\n...\n    struct jail_attach_args jaa;\n...\n    error = jail_attach(td, &jaa);\n    if (error)\n        goto e_dropprref;\n...\n}\n",
            "id": 563471,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563471/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127713/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:57:44.798596Z",
            "action": 5,
            "target": "int\njail_attach(struct thread *td, struct jail_attach_args *uap)\n{\n    struct proc *p;\n    struct ucred *newcred, *oldcred;\n    struct prison *pr;\n...\n    p = td->td_proc;\n...\n    pr = prison_find(uap->jid);\n...\n    change_root(pr->pr_root, td);\n...\n    newcred->cr_prison = pr;\n    p->p_ucred = newcred;\n...\n}\n",
            "id": 563472,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563472/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127715/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:59:16.509766Z",
            "action": 5,
            "target": "Cuando un proceso se bifurca (fork) de uno de sus padres, la llamada al sistema man:fork[2] utiliza `crhold()` para mantener la credencial para el nuevo proceso creado. Mantiene la credencial del nuevo hijo creado consistente con la de su padre, de forma que el proceso hijo también está dentro del jail.",
            "id": 563473,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563473/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127717/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:59:22.772607Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_fork.c:\np2->p_ucred = crhold(td->td_ucred);\n...\ntd2->td_ucred = crhold(p2->p_ucred);\n",
            "id": 563474,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563474/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127721/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:59:48.867692Z",
            "action": 2,
            "target": "En todo el núcleo existen restricciones de acceso relacionadas con los procesos enjaulados. Por lo general, estas restricciones solo verifican si el proceso está enjaulado y, de ser así, devuelve un error. Por ejemplo:",
            "id": 563475,
            "action_name": "Translation changed",
            "url": "https://translate-dev.freebsd.org/api/changes/563475/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127723/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T10:59:53.032675Z",
            "action": 5,
            "target": "if (jailed(td->td_ucred))\n    return (EPERM);\n",
            "id": 563476,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563476/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127725/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:00:00.410533Z",
            "action": 5,
            "target": "SysV IPC",
            "id": 563477,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563477/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127727/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:12:49.250320Z",
            "action": 5,
            "target": "System V IPC está basado en mensajes. Los procesos pueden mandarse mensajes unos a otros que les dicen cómo tienen que actuar. Las funciones que tratan estos mensajes son: man:msgctl[3], man:msgget[3], man:msgsnd[3] y man:msgrcv[3]. Antes, mencioné que había ciertas sysctls que podías activar o desactivar para afectar el comportamiento del jail. Una de esas sysctls era `security.jail.sysvipc_allowed`. Por defecto, esta sysctl está a 0. Si estuviera a 1, derrotaría por completo el propósito de tener un jail; los usuarios privilegiados del jail serían capaces de afectar a procesos fuera del entorno del jail. La diferencia entre un mensaje y una señal es que el mensaje sólo consiste en el número de señal.",
            "id": 563478,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/563478/?format=api"
        }
    ]
}