Translation components API.

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

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

{
    "count": 92,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/units/?format=api&page=2",
    "previous": null,
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Chapter 4. The Jail Subsystem"
            ],
            "previous_source": "",
            "target": [
                "Chapter 4. El Subsistema de Jails"
            ],
            "id_hash": -3250775974277800280,
            "content_hash": -3250775974277800280,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:1",
            "context": "",
            "note": "type: YAML Front Matter: title",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 2,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127610/?format=api",
            "priority": 100,
            "id": 1127611,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=52e2ec7988cc1ea8",
            "url": "https://translate-dev.freebsd.org/api/units/1127611/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.007414Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "The Jail Subsystem"
            ],
            "previous_source": "",
            "target": [
                "El Subsistema de Jails"
            ],
            "id_hash": 6463077580901437616,
            "content_hash": 6463077580901437616,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:1, documentation/content/en/books/arch-handbook/jail/_index.adoc:13",
            "context": "",
            "note": "type: Title =",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 1,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127612/?format=api",
            "priority": 100,
            "id": 1127613,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=d9b176d1256bd0b0",
            "url": "https://translate-dev.freebsd.org/api/units/1127613/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.030489Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "On most UNIX(R) systems, `root` has omnipotent power. This promotes insecurity. If an attacker gained `root` on a system, he would have every function at his fingertips. In FreeBSD there are sysctls which dilute the power of `root`, in order to minimize the damage caused by an attacker. Specifically, one of these functions is called `secure levels`. Similarly, another function which is present from FreeBSD 4.0 and onward, is a utility called man:jail[8]. Jail chroots an environment and sets certain restrictions on processes which are forked within the jail. For example, a jailed process cannot affect processes outside the jail, utilize certain system calls, or inflict any damage on the host environment."
            ],
            "previous_source": "",
            "target": [
                "En la mayoría de sistemas UNIX(R), `root` tiene un poder omnipotente. Esto promueve la inseguridad. Si un atacante obtiene acceso `root` en un sistema, tendría cualquier función disponible. En FreeBSD hay sysctls que diluyen el poder de `root`, para minimizar el daño ocasionado por un atacante. Específicamente, una de estas funciones se llama `secure levels`. De forma similar, otra función que está presente a partir de FreeBSD 4.0, es una utilidad llamada man:jail[8]. Los jails crean un chroot para un entorno y establecen ciertas restricciones en los procesos que son creados dentro del jail. Por ejemplo, un proceso en un jail no puede afectar a procesos que estén fuera del jail, utilizar ciertas llamadas al sistem, o infligir algún tipo de daño en el entorno anfitrión."
            ],
            "id_hash": -3090259247672452580,
            "content_hash": -3090259247672452580,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:51",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 3,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 112,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127614/?format=api",
            "priority": 100,
            "id": 1127615,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=551d31964e9e1a1c",
            "url": "https://translate-dev.freebsd.org/api/units/1127615/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.087522Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Architecture"
            ],
            "previous_source": "",
            "target": [
                "Arquitectura"
            ],
            "id_hash": -3937639386123481026,
            "content_hash": -3937639386123481026,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:55",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 5,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127618/?format=api",
            "priority": 100,
            "id": 1127619,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=495ab1d74085d03e",
            "url": "https://translate-dev.freebsd.org/api/units/1127619/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.144677Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Jail consists of two realms: the userland program, man:jail[8], and the code implemented within the kernel: the man:jail[2] system call and associated restrictions. I will be discussing the userland program and then how jail is implemented within the kernel."
            ],
            "previous_source": "",
            "target": [
                "Un jail consiste en dos partes: el programa de usuario, man:jail[8], y el código implementado en el núcleo: la llamada al sistema man:jail[2] y las restricciones asociadas. Discutiré el programa de usuario y cómo están los jails implementados dentro del núcleo."
            ],
            "id_hash": -2409291593802527476,
            "content_hash": -2409291593802527476,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:58",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 6,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127620/?format=api",
            "priority": 100,
            "id": 1127621,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=5e907a0f7710cd0c",
            "url": "https://translate-dev.freebsd.org/api/units/1127621/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.202289Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Userland Code"
            ],
            "previous_source": "",
            "target": [
                "Código de Usuario"
            ],
            "id_hash": -3407155355412333946,
            "content_hash": -3407155355412333946,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:59",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 7,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127622/?format=api",
            "priority": 100,
            "id": 1127623,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=50b75a419213fa86",
            "url": "https://translate-dev.freebsd.org/api/units/1127623/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.231794Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "The source for the userland jail is located in [.filename]#/usr/src/usr.sbin/jail#, consisting of one file, [.filename]#jail.c#. The program takes these arguments: the path of the jail, hostname, IP address, and the command to be executed."
            ],
            "previous_source": "",
            "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_hash": -6487354178446795079,
            "content_hash": -6487354178446795079,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:62",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 8,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 34,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127624/?format=api",
            "priority": 100,
            "id": 1127625,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=25f849bf05885eb9",
            "url": "https://translate-dev.freebsd.org/api/units/1127625/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.281448Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Data Structures"
            ],
            "previous_source": "",
            "target": [
                "Estructuras de Datos"
            ],
            "id_hash": 8778769654741155345,
            "content_hash": 8778769654741155345,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:63",
            "context": "",
            "note": "type: Title ====",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 9,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127626/?format=api",
            "priority": 100,
            "id": 1127627,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=f9d4747d33d33e11",
            "url": "https://translate-dev.freebsd.org/api/units/1127627/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.314551Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "In [.filename]#jail.c#, the first thing I would note is the declaration of an important structure `struct jail j;` which was included from [.filename]#/usr/include/sys/jail.h#."
            ],
            "previous_source": "",
            "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_hash": 7106865839802019613,
            "content_hash": 7106865839802019613,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:66",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 10,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 23,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127628/?format=api",
            "priority": 100,
            "id": 1127629,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=e2a0a8d3d7c1ef1d",
            "url": "https://translate-dev.freebsd.org/api/units/1127629/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.338338Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "The definition of the `jail` structure is:"
            ],
            "previous_source": "",
            "target": [
                "La definición de la estructura `jail` es:"
            ],
            "id_hash": 2547334454532694562,
            "content_hash": 2547334454532694562,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:68",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 11,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127630/?format=api",
            "priority": 100,
            "id": 1127631,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=a359f330a688e222",
            "url": "https://translate-dev.freebsd.org/api/units/1127631/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.401565Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/usr/include/sys/jail.h:\n"
            ],
            "previous_source": "",
            "target": [
                "/usr/include/sys/jail.h:\n"
            ],
            "id_hash": -5623322682502080988,
            "content_hash": -5623322682502080988,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:72",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 12,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127632/?format=api",
            "priority": 100,
            "id": 1127633,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=31f5f1d05c111624",
            "url": "https://translate-dev.freebsd.org/api/units/1127633/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.427607Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "struct jail {\n        u_int32_t       version;\n        char            *path;\n        char            *hostname;\n        u_int32_t       ip_number;\n};\n"
            ],
            "previous_source": "",
            "target": [
                "struct jail {\n        u_int32_t       version;\n        char            *path;\n        char            *hostname;\n        u_int32_t       ip_number;\n};\n"
            ],
            "id_hash": 7516986899559650965,
            "content_hash": 7516986899559650965,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:79",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 13,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127634/?format=api",
            "priority": 100,
            "id": 1127635,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=e851b3c229849695",
            "url": "https://translate-dev.freebsd.org/api/units/1127635/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.451857Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "As you can see, there is an entry for each of the arguments passed to the man:jail[8] program, and indeed, they are set during its execution."
            ],
            "previous_source": "",
            "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_hash": 1635401472362919889,
            "content_hash": 1635401472362919889,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:82",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 14,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 26,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127636/?format=api",
            "priority": 100,
            "id": 1127637,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=96b21cf97157b7d1",
            "url": "https://translate-dev.freebsd.org/api/units/1127637/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.508679Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": 2225248786196371510,
            "content_hash": 2225248786196371510,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:96",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 15,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127638/?format=api",
            "priority": 100,
            "id": 1127639,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=9ee1abfb2e1a9836",
            "url": "https://translate-dev.freebsd.org/api/units/1127639/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.530925Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Networking"
            ],
            "previous_source": "",
            "target": [
                "Redes"
            ],
            "id_hash": 5971631064820480690,
            "content_hash": 5971631064820480690,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:98",
            "context": "",
            "note": "type: Title ====",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 16,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127640/?format=api",
            "priority": 100,
            "id": 1127641,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=d2df7ed07c4ffab2",
            "url": "https://translate-dev.freebsd.org/api/units/1127641/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.551537Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "One of the arguments passed to the man:jail[8] program is an IP address with which the jail can be accessed over the network. man:jail[8] translates the IP address given into host byte order and then stores it in `j` (the `jail` structure)."
            ],
            "previous_source": "",
            "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_hash": 110489864242767489,
            "content_hash": 110489864242767489,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:101",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 17,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127642/?format=api",
            "priority": 100,
            "id": 1127643,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=818889f23578a681",
            "url": "https://translate-dev.freebsd.org/api/units/1127643/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.605195Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": -549596674364967959,
            "content_hash": -549596674364967959,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:110",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 18,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127644/?format=api",
            "priority": 100,
            "id": 1127645,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=785f70bc8ebd73e9",
            "url": "https://translate-dev.freebsd.org/api/units/1127645/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.635832Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "The man:inet_aton[3] function \"interprets the specified character string as an Internet address, placing the address into the structure provided.\" The `ip_number` member in the `jail` structure is set only when the IP address placed onto the `in` structure by man:inet_aton[3] is translated into host byte order by man:ntohl[3]."
            ],
            "previous_source": "",
            "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_hash": 8660002705204191520,
            "content_hash": 8660002705204191520,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:113",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 19,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 48,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127646/?format=api",
            "priority": 100,
            "id": 1127647,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=f82e8293e59e2120",
            "url": "https://translate-dev.freebsd.org/api/units/1127647/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.684913Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Jailing the Process"
            ],
            "previous_source": "",
            "target": [
                "Enjaulando el Proceso"
            ],
            "id_hash": -808379272149399813,
            "content_hash": -808379272149399813,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:114",
            "context": "",
            "note": "type: Title ====",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 20,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127648/?format=api",
            "priority": 100,
            "id": 1127649,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=74c80f55bfbf06fb",
            "url": "https://translate-dev.freebsd.org/api/units/1127649/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.710871Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Finally, the userland program jails the process. Jail now becomes an imprisoned process itself and then executes the command given using man:execv[3]."
            ],
            "previous_source": "",
            "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_hash": -8400553832468691540,
            "content_hash": -8400553832468691540,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:117",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 21,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127650/?format=api",
            "priority": 100,
            "id": 1127651,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=0b6b3ccc232845ac",
            "url": "https://translate-dev.freebsd.org/api/units/1127651/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.735035Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": 3634903989889763660,
            "content_hash": 3634903989889763660,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:125",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 22,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127652/?format=api",
            "priority": 100,
            "id": 1127653,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=b271c5eb9607894c",
            "url": "https://translate-dev.freebsd.org/api/units/1127653/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.799353Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "As you can see, the `jail()` function is called, and its argument is the `jail` structure which has been filled with the arguments given to the program. Finally, the program you specify is executed. I will now discuss how jail is implemented within the kernel."
            ],
            "previous_source": "",
            "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_hash": 496121809003613180,
            "content_hash": 496121809003613180,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:128",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 23,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 45,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127654/?format=api",
            "priority": 100,
            "id": 1127655,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=86e294281efc0bfc",
            "url": "https://translate-dev.freebsd.org/api/units/1127655/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.823303Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Kernel Space"
            ],
            "previous_source": "",
            "target": [
                "Espacio del Núcleo"
            ],
            "id_hash": 7376364836595692782,
            "content_hash": 7376364836595692782,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:129",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 24,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127656/?format=api",
            "priority": 100,
            "id": 1127657,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=e65e1cbcbaf7f4ee",
            "url": "https://translate-dev.freebsd.org/api/units/1127657/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.847661Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "We will now be looking at the file [.filename]#/usr/src/sys/kern/kern_jail.c#. This is the file where the man:jail[2] system call, appropriate sysctls, and networking functions are defined."
            ],
            "previous_source": "",
            "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_hash": -1649060115857407283,
            "content_hash": -1649060115857407283,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:132",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 25,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 25,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127658/?format=api",
            "priority": 100,
            "id": 1127659,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=691d5c8fcd0e02cd",
            "url": "https://translate-dev.freebsd.org/api/units/1127659/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.911280Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Sysctls"
            ],
            "previous_source": "",
            "target": [
                "Sysctls"
            ],
            "id_hash": -367458239449168958,
            "content_hash": -367458239449168958,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:133",
            "context": "",
            "note": "type: Title ====",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 26,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127660/?format=api",
            "priority": 100,
            "id": 1127661,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=7ae686ad97d783c2",
            "url": "https://translate-dev.freebsd.org/api/units/1127661/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:03.937125Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "In [.filename]#kern_jail.c#, the following sysctls are defined:"
            ],
            "previous_source": "",
            "target": [
                "En [.filename]#kern_jail.c#, se definen las siguientes sysctls:"
            ],
            "id_hash": 2985997180239267152,
            "content_hash": 2985997180239267152,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:136",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 27,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127662/?format=api",
            "priority": 100,
            "id": 1127663,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=a970649d6c7ac550",
            "url": "https://translate-dev.freebsd.org/api/units/1127663/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.150563Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": -6894746641274081629,
            "content_hash": -6894746641274081629,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:144",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 28,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127664/?format=api",
            "priority": 100,
            "id": 1127665,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=2050f075ae8a6ea3",
            "url": "https://translate-dev.freebsd.org/api/units/1127665/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.216017Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "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"
            ],
            "previous_source": "",
            "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_hash": 1643145899104961345,
            "content_hash": 1643145899104961345,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:149",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 29,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127666/?format=api",
            "priority": 100,
            "id": 1127667,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=96cda07d4e4a8341",
            "url": "https://translate-dev.freebsd.org/api/units/1127667/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.242015Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "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"
            ],
            "previous_source": "",
            "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_hash": 8263414253409649936,
            "content_hash": 8263414253409649936,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:154",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 30,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127668/?format=api",
            "priority": 100,
            "id": 1127669,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=f2ad8b7b6661c510",
            "url": "https://translate-dev.freebsd.org/api/units/1127669/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.286507Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "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"
            ],
            "previous_source": "",
            "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_hash": 7086444911031229209,
            "content_hash": 7086444911031229209,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:159",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 31,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127670/?format=api",
            "priority": 100,
            "id": 1127671,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=e2581c19da641b19",
            "url": "https://translate-dev.freebsd.org/api/units/1127671/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.320374Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "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"
            ],
            "previous_source": "",
            "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_hash": 4210172442749308375,
            "content_hash": 4210172442749308375,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:164",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 32,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127672/?format=api",
            "priority": 100,
            "id": 1127673,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=ba6d8987bd360dd7",
            "url": "https://translate-dev.freebsd.org/api/units/1127673/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.376799Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "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"
            ],
            "previous_source": "",
            "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_hash": 8623351500801224630,
            "content_hash": 8623351500801224630,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:169",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 33,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127674/?format=api",
            "priority": 100,
            "id": 1127675,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=f7ac4c806296afb6",
            "url": "https://translate-dev.freebsd.org/api/units/1127675/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.416575Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "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"
            ],
            "previous_source": "",
            "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_hash": -4455306845297956315,
            "content_hash": -4455306845297956315,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:174",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 34,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127676/?format=api",
            "priority": 100,
            "id": 1127677,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=422b920788a62a25",
            "url": "https://translate-dev.freebsd.org/api/units/1127677/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.442788Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Each of these sysctls can be accessed by the user through the man:sysctl[8] program. Throughout the kernel, these specific sysctls are recognized by their name. For example, the name of the first sysctl is `security.jail.set_hostname_allowed`."
            ],
            "previous_source": "",
            "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_hash": -4797247478760127929,
            "content_hash": -4797247478760127929,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:177",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 35,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127678/?format=api",
            "priority": 100,
            "id": 1127679,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=3d6cc0d5c0dd4247",
            "url": "https://translate-dev.freebsd.org/api/units/1127679/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.496873Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "man:jail[2] System Call"
            ],
            "previous_source": "",
            "target": [
                "La Llamada al Sistema man:jail[2]"
            ],
            "id_hash": -967542894849609191,
            "content_hash": -967542894849609191,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:178",
            "context": "",
            "note": "type: Title ====",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 36,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127680/?format=api",
            "priority": 100,
            "id": 1127681,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=729298dd07893219",
            "url": "https://translate-dev.freebsd.org/api/units/1127681/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.521096Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Like all system calls, the man:jail[2] system call takes two arguments, `struct thread *td` and `struct jail_args *uap`. `td` is a pointer to the `thread` structure which describes the calling thread. In this context, `uap` is a pointer to the structure in which a pointer to the `jail` structure passed by the userland [.filename]#jail.c# is contained. When I described the userland program before, you saw that the man:jail[2] system call was given a `jail` structure as its own argument."
            ],
            "previous_source": "",
            "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_hash": 9013346056197970445,
            "content_hash": 9013346056197970445,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:181",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 37,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 79,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127682/?format=api",
            "priority": 100,
            "id": 1127683,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=fd15d67bbd591a0d",
            "url": "https://translate-dev.freebsd.org/api/units/1127683/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.598338Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": -1243308460338656409,
            "content_hash": -1243308460338656409,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:192",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 38,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127684/?format=api",
            "priority": 100,
            "id": 1127685,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=6ebee18aeb46cb67",
            "url": "https://translate-dev.freebsd.org/api/units/1127685/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.621577Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Therefore, `uap->jail` can be used to access the `jail` structure which was passed to the system call. Next, the system call copies the `jail` structure into kernel space using the man:copyin[9] function. man:copyin[9] takes three arguments: the address of the data which is to be copied into kernel space, `uap->jail`, where to store it, `j` and the size of the storage. The `jail` structure pointed by `uap->jail` is copied into kernel space and is stored in another `jail` structure, `j`."
            ],
            "previous_source": "",
            "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_hash": -2301170070801123202,
            "content_hash": -2301170070801123202,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:195",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 39,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 80,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127686/?format=api",
            "priority": 100,
            "id": 1127687,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=60109a034223787e",
            "url": "https://translate-dev.freebsd.org/api/units/1127687/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.646037Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/usr/src/sys/kern/kern_jail.c:\nerror = copyin(uap->jail, &j, sizeof(j));\n"
            ],
            "previous_source": "",
            "target": [
                "/usr/src/sys/kern/kern_jail.c:\nerror = copyin(uap->jail, &j, sizeof(j));\n"
            ],
            "id_hash": 6264453319605962226,
            "content_hash": 6264453319605962226,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:200",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 40,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127688/?format=api",
            "priority": 100,
            "id": 1127689,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=d6efcf1a8b2145f2",
            "url": "https://translate-dev.freebsd.org/api/units/1127689/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.694479Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "There is another important structure defined in [.filename]#jail.h#. It is the `prison` structure. The `prison` structure is used exclusively within kernel space. Here is the definition of the `prison` structure."
            ],
            "previous_source": "",
            "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_hash": 6972112472407591249,
            "content_hash": 6972112472407591249,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:203",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 41,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127690/?format=api",
            "priority": 100,
            "id": 1127691,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=e0c1eb5a93ecc951",
            "url": "https://translate-dev.freebsd.org/api/units/1127691/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.718556Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": 4727944564179966863,
            "content_hash": 4727944564179966863,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:221",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 42,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 87,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127692/?format=api",
            "priority": 100,
            "id": 1127693,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=c19d088809af9b8f",
            "url": "https://translate-dev.freebsd.org/api/units/1127693/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.741231Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "The man:jail[2] system call then allocates memory for a `prison` structure and copies data between the `jail` and `prison` structure."
            ],
            "previous_source": "",
            "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_hash": 1362813537788451818,
            "content_hash": 1362813537788451818,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:224",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 43,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127694/?format=api",
            "priority": 100,
            "id": 1127695,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=92e9afb12ef95bea",
            "url": "https://translate-dev.freebsd.org/api/units/1127695/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.826507Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": 5849979940733045296,
            "content_hash": 5849979940733045296,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:238",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 44,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127696/?format=api",
            "priority": 100,
            "id": 1127697,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=d12f4dc2f68dca30",
            "url": "https://translate-dev.freebsd.org/api/units/1127697/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.852763Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "Next, we will discuss another important system call man:jail_attach[2], which implements the function to put a process into the jail."
            ],
            "previous_source": "",
            "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_hash": 2821496895528284922,
            "content_hash": 2821496895528284922,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:241",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 45,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127698/?format=api",
            "priority": 100,
            "id": 1127699,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=a727f87a40d4b2fa",
            "url": "https://translate-dev.freebsd.org/api/units/1127699/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.879528Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": 9197118896977923279,
            "content_hash": 9197118896977923279,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:252",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 46,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127700/?format=api",
            "priority": 100,
            "id": 1127701,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=ffa2bae88b66cccf",
            "url": "https://translate-dev.freebsd.org/api/units/1127701/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.915501Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "This system call makes the changes that can distinguish a jailed process from those unjailed ones. To understand what man:jail_attach[2] does for us, certain background information is needed."
            ],
            "previous_source": "",
            "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_hash": 5165204134795130532,
            "content_hash": 5165204134795130532,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:255",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 47,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 28,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127702/?format=api",
            "priority": 100,
            "id": 1127703,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=c7ae7dcb4ed7b6a4",
            "url": "https://translate-dev.freebsd.org/api/units/1127703/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.939684Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "On FreeBSD, each kernel visible thread is identified by its `thread` structure, while the processes are described by their `proc` structures. You can find the definitions of the `thread` and `proc` structure in [.filename]#/usr/include/sys/proc.h#. For example, the `td` argument in any system call is actually a pointer to the calling thread's `thread` structure, as stated before. The `td_proc` member in the `thread` structure pointed by `td` is a pointer to the `proc` structure which represents the process that contains the thread represented by `td`. The `proc` structure contains members which can describe the owner's identity(`p_ucred`), the process resource limits(`p_limit`), and so on. In the `ucred` structure pointed by `p_ucred` member in the `proc` structure, there is a pointer to the `prison` structure(`cr_prison`)."
            ],
            "previous_source": "",
            "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_hash": 4995226892358564251,
            "content_hash": 4995226892358564251,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:257",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 48,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 122,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127704/?format=api",
            "priority": 100,
            "id": 1127705,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=c5529c648b82b99b",
            "url": "https://translate-dev.freebsd.org/api/units/1127705/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:04.990004Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": -423689365307653301,
            "content_hash": -423689365307653301,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:277",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 49,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127706/?format=api",
            "priority": 100,
            "id": 1127707,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=7a1ec0c45dba034b",
            "url": "https://translate-dev.freebsd.org/api/units/1127707/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:05.015729Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "In [.filename]#kern_jail.c#, the function `jail()` then calls function `jail_attach()` with a given `jid`. And `jail_attach()` calls function `change_root()` to change the root directory of the calling process. The `jail_attach()` then creates a new `ucred` structure, and attaches the newly created `ucred` structure to the calling process after it has successfully attached the `prison` structure to the `ucred` structure. From then on, the calling process is recognized as jailed. When the kernel routine `jailed()` is called in the kernel with the newly created `ucred` structure as its argument, it returns 1 to tell that the credential is connected with a jail. The public ancestor process of all the process forked within the jail, is the process which runs man:jail[8], as it calls the man:jail[2] system call. When a program is executed through man:execve[2], it inherits the jailed property of its parent's `ucred` structure, therefore it has a jailed `ucred` structure."
            ],
            "previous_source": "",
            "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_hash": -5312930558792477038,
            "content_hash": -5312930558792477038,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:280",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 50,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 149,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127708/?format=api",
            "priority": 100,
            "id": 1127709,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=3644adce4edb5692",
            "url": "https://translate-dev.freebsd.org/api/units/1127709/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:05.074184Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "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_hash": 5998018216358103867,
            "content_hash": 5998018216358103867,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:295",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 51,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127710/?format=api",
            "priority": 100,
            "id": 1127711,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/es/?checksum=d33d3dc9f658cb3b",
            "url": "https://translate-dev.freebsd.org/api/units/1127711/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:05.114181Z"
        }
    ]
}