Translation components API.

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

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

{
    "count": 134,
    "next": null,
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/changes/?format=api&page=2",
    "results": [
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127729/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:12:54.299665Z",
            "action": 5,
            "target": "[.filename]#/usr/src/sys/kern/sysv_msg.c#:",
            "id": 563479,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563479/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127731/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:20:18.336549Z",
            "action": 5,
            "target": "`msgget(key, msgflg)`: `msgget` devuelve (y posiblemente crea) un descriptor de mensaje que designa una cola de mensajes para usar en otras funciones.",
            "id": 563480,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563480/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127733/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:28:39.594448Z",
            "action": 5,
            "target": "`msgctl(msgid, cmd, buf)`: Usando esta función, un proceso puede consultar el estado de un descriptor de mensaje.",
            "id": 563481,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563481/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127735/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:30:47.108189Z",
            "action": 5,
            "target": "`msgsnd(msgid, msgp, msgsz, msgflg)`: `msgsnd` envía un mensaje a un proceso.",
            "id": 563482,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563482/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127737/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:31:16.143149Z",
            "action": 5,
            "target": "`msgrcv(msgid, msgp, msgsz, msgtyp, msgflg)`: usando esta función un proceso recibe un mensaje",
            "id": 563483,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563483/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127741/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:32:21.521973Z",
            "action": 5,
            "target": "/usr/src/sys/kern/sysv_msg.c:\nif (!jail_sysvipc_allowed && jailed(td->td_ucred))\n    return (ENOSYS);\n",
            "id": 563484,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563484/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127743/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:41:21.841030Z",
            "action": 5,
            "target": "Las llamadas al sistema de semáforos permiten a los procesos sincronizar su ejecución al realizar un conjunto de operaciones atómicas sobre un conjunto de semáforos. Básicamente los semáforos proporcionan a los procesos otra forma de bloquear recursos. Sin embargo, los procesos que esperan en un semáforo, que está siendo utilizado, dormirán hasta que se libere el recurso. Las siguientes llamadas al sistema de semáforos están bloqueadas dentro de un jail: man:semget[2], man:semctl[2] y man:semop[2].",
            "id": 563485,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563485/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127745/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:41:26.347517Z",
            "action": 5,
            "target": "[.filename]#/usr/src/sys/kern/sysv_sem.c#:",
            "id": 563486,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563486/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127747/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:42:06.692660Z",
            "action": 5,
            "target": "`semctl(semid, semnum, cmd, ...)`: `semctl` ejecuta el comando `cmd` en la cola de semáforo indicada mediante `semid`.",
            "id": 563487,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563487/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127749/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:42:24.521531Z",
            "action": 5,
            "target": "`semget(key, nsems, flag)`: `semget` crea un array de semáforos, correspondientes a `key`.",
            "id": 563488,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563488/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1203086/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:42:54.110135Z",
            "action": 5,
            "target": "`key y flag tienen el mismo significado que en msgget.`",
            "id": 563489,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563489/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127753/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:43:37.248879Z",
            "action": 5,
            "target": "`semop(semid, array, nops)`: `semop` ejecuta un grupo de operaciones indicado por `array`, en el conjunto de semáforos indicado por `semid`.",
            "id": 563490,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563490/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127755/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:45:09.425425Z",
            "action": 5,
            "target": "System V IPC permite a los procesos compartir memoria. Los procesos se pueden comunicar directamente entre ellos compartiendo partes de su espacio de direcciones virtual y después leyendo y escribiendo datos almacenados en la memoria compartida. Estas llamadas al sistema están bloqueadas dentro de un jail: man:shmdt[2], man:shmat[2], man:shmctl[2] y man:shmget[2].",
            "id": 563491,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563491/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127757/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:45:14.061302Z",
            "action": 5,
            "target": "[.filename]#/usr/src/sys/kern/sysv_shm.c#:",
            "id": 563492,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563492/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127759/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:45:49.676087Z",
            "action": 5,
            "target": "`shmctl(shmid, cmd, buf)`: `shmctl` realiza varias operaciones de control en la región de memoria compartida identificada mediante `shmid`.",
            "id": 563493,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563493/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127761/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:46:17.001186Z",
            "action": 5,
            "target": "`shmget(key, size, flag)`: `shmget` accede o crea una región de memoria compartida de `size` bytes de tamaño.",
            "id": 563494,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563494/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127763/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:47:22.017325Z",
            "action": 5,
            "target": "`shmat(shmid, addr, flag)`: `shmat` adjunta al espacio de direcciones de un proceso una región de memoria compartida identificada mediante `shmid`.",
            "id": 563495,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563495/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127765/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:47:43.876907Z",
            "action": 5,
            "target": "`shmdt(addr)`: `shmdt` elimina una región de memoria compartida previamente adjuntada en `addr`.",
            "id": 563496,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563496/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127767/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:47:48.097846Z",
            "action": 2,
            "target": "Sockets",
            "id": 563499,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563499/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127769/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:51:30.496131Z",
            "action": 5,
            "target": "Los jail tratan la llamada al sistema man:socket[2] y otras funciones de bajo nivel relacionadas de una forma especial. Para determinar si se permite crear un cierto socket, lo primero es comprobar si la sysctl `security.jail.socket_unixiproute_only` está activada. Si lo está, sólo se permite crear sockets si la familia especificada es `PF_LOCAL`, `PF_INET` o `PF_ROUTE`. De lo contrario, devuelve un error.",
            "id": 563500,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563500/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127771/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:51:35.695923Z",
            "action": 5,
            "target": "/usr/src/sys/kern/uipc_socket.c:\nint\nsocreate(int dom, struct socket **aso, int type, int proto,\n    struct ucred *cred, struct thread *td)\n{\n    struct protosw *prp;\n...\n    if (jailed(cred) && jail_socket_unixiproute_only &&\n        prp->pr_domain->dom_family != PF_LOCAL &&\n        prp->pr_domain->dom_family != PF_INET &&\n        prp->pr_domain->dom_family != PF_ROUTE) {\n        return (EPROTONOSUPPORT);\n    }\n...\n}\n",
            "id": 563501,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563501/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127773/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:51:46.482354Z",
            "action": 2,
            "target": "Filtro de Paquetes Berkeley",
            "id": 563502,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563502/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127775/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:52:49.409174Z",
            "action": 5,
            "target": "El Filtro de Paquetes de Berkeley proporciona una interfaz en crudo a las capas de enlaces de datos mediante un protocolo independiente. BPF está controlado por man:devfs[8] si se puede usar dentro de un jail.",
            "id": 563503,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563503/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127777/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:52:51.982332Z",
            "action": 2,
            "target": "Protocolos",
            "id": 563505,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563505/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127779/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:56:28.807759Z",
            "action": 2,
            "target": "Hay ciertos protocolos que son muy comunes, como TCP, UDP, IP e ICMP. IP e ICMP están en el mismo nivel: la capa de red 2. Hay ciertas precauciones que se toman para evitar que un proceso encerrado vincule un protocolo a una determinada dirección solo si el `nam` el parámetro está configurado. `nam` es un puntero a una estructura `sockaddr`, que describe la dirección a la que enlazar el servicio. Una definición más exacta es que `sockaddr` \"se puede utilizar como plantilla para hacer referencia a la etiqueta de identificación y la longitud de cada dirección \". En la función `in_pcbbind_setup()`, `sin`eEs un puntero a una estructura `sockaddr_in`, que contiene el puerto, la dirección, la longitud y la familia de dominio del socket que se va a vincular. Básicamente, esto no permite que un proceso dentro de un `jail` especifique una dirección que no pertenece al `jail` en el que está encerrado el proceso llamante.",
            "id": 563506,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563506/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127779/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:56:40.606116Z",
            "action": 2,
            "target": "Hay ciertos protocolos que son muy comunes, como TCP, UDP, IP e ICMP. IP e ICMP están en el mismo nivel: la capa de red 2. Hay ciertas precauciones que se toman para evitar que un proceso encerrado vincule un protocolo a una determinada dirección solo si el `nam` el parámetro está configurado. `nam` es un puntero a una estructura `sockaddr`, que describe la dirección a la que enlazar el servicio. Una definición más exacta es que `sockaddr` \"se puede utilizar como plantilla para hacer referencia a la etiqueta de identificación y la longitud de cada dirección \". En la función `in_pcbbind_setup()`, `sin`es un puntero a una estructura `sockaddr_in`, que contiene el puerto, la dirección, la longitud y la familia de dominio del socket que se va a vincular. Básicamente, esto no permite que un proceso dentro de un `jail` especifique una dirección que no pertenece al `jail` en el que está encerrado el proceso llamante.",
            "id": 563507,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563507/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127781/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T11:56:45.712848Z",
            "action": 5,
            "target": "/usr/src/sys/netinet/in_pcb.c:\nint\nin_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp,\n    u_short *lportp, struct ucred *cred)\n{\n    ...\n    struct sockaddr_in *sin;\n    ...\n    if (nam) {\n        sin = (struct sockaddr_in *)nam;\n        ...\n        if (sin->sin_addr.s_addr != INADDR_ANY)\n            if (prison_ip(cred, 0, &sin->sin_addr.s_addr))\n                return(EINVAL);\n        ...\n        if (lport) {\n            ...\n            if (prison && prison_ip(cred, 0, &sin->sin_addr.s_addr))\n                return (EADDRNOTAVAIL);\n            ...\n        }\n    }\n    if (lport == 0) {\n        ...\n        if (laddr.s_addr != INADDR_ANY)\n            if (prison_ip(cred, 0, &laddr.s_addr))\n                return (EINVAL);\n        ...\n    }\n...\n    if (prison_ip(cred, 0, &laddr.s_addr))\n        return (EINVAL);\n...\n}\n",
            "id": 563508,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563508/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127783/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T12:01:17.759041Z",
            "action": 5,
            "target": "Puedes estar preguntándonte qué es lo que hace la función `prison_ip()`. `prison_ip()` recibe tres argumentos, un puntero a la credencial (representado por `cred`), unos flags, y una dirección IP. Devuelve 1 si la dirección IP NO pertenece al jail o 0 en caso contrario. Como puedes ver en el código, si la dirección IP no pertenece al jail, no se permite al protocolo enlazarse a esa dirección.",
            "id": 563509,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563509/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127785/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T12:01:22.778164Z",
            "action": 5,
            "target": "/usr/src/sys/kern/kern_jail.c:\nint\nprison_ip(struct ucred *cred, int flag, u_int32_t *ip)\n{\n    u_int32_t tmp;\n",
            "id": 563510,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563510/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127787/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T12:01:28.817902Z",
            "action": 5,
            "target": "    if (!jailed(cred))\n        return (0);\n    if (flag)\n        tmp = *ip;\n    else\n        tmp = ntohl(*ip);\n    if (tmp == INADDR_ANY) {\n        if (flag)\n            *ip = cred->cr_prison->pr_ip;\n        else\n            *ip = htonl(cred->cr_prison->pr_ip);\n        return (0);\n    }\n    if (tmp == INADDR_LOOPBACK) {\n        if (flag)\n            *ip = cred->cr_prison->pr_ip;\n        else\n            *ip = htonl(cred->cr_prison->pr_ip);\n        return (0);\n    }\n    if (cred->cr_prison->pr_ip != tmp)\n        return (1);\n    return (0);\n}\n",
            "id": 563511,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563511/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127791/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T12:04:17.262182Z",
            "action": 5,
            "target": "Ni siquiera a los usuarios `root` de un jail se les permite cambiar ningún flag de fichero, como el flag de sólo lectura, sólo añadir, y flags de no borrado, si el securelevel es mayor que 0.",
            "id": 563512,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563512/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127793/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T12:04:23.857864Z",
            "action": 5,
            "target": "/usr/src/sys/ufs/ufs/ufs_vnops.c:\nstatic int\nufs_setattr(ap)\n    ...\n{\n    ...\n        if (!priv_check_cred(cred, PRIV_VFS_SYSFLAGS, 0)) {\n            if (ip->i_flags\n                & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND)) {\n                    error = securelevel_gt(cred, 0);\n                    if (error)\n                        return (error);\n            }\n            ...\n        }\n}\n/usr/src/sys/kern/kern_priv.c\nint\npriv_check_cred(struct ucred *cred, int priv, int flags)\n{\n    ...\n    error = prison_priv_check(cred, priv);\n    if (error)\n        return (error);\n    ...\n}\n/usr/src/sys/kern/kern_jail.c\nint\nprison_priv_check(struct ucred *cred, int priv)\n{\n    ...\n    switch (priv) {\n    ...\n    case PRIV_VFS_SYSFLAGS:\n        if (jail_chflags_allowed)\n            return (0);\n        else\n            return (EPERM);\n    ...\n    }\n    ...\n}\n",
            "id": 563513,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563513/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1127693/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/fernape/?format=api",
            "timestamp": "2023-07-27T12:04:35.859748Z",
            "action": 2,
            "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": 563514,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/563514/?format=api"
        },
        {
            "unit": null,
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksarch-handbookjail_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/es/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-07-28T04:45:00.811587Z",
            "action": 17,
            "target": "",
            "id": 563583,
            "action_name": "提交了更改",
            "url": "https://translate-dev.freebsd.org/api/changes/563583/?format=api"
        }
    ]
}