Translation components API.

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

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

{
    "count": 92,
    "next": null,
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/units/?format=api",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?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": [
                ""
            ],
            "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": 0,
            "fuzzy": false,
            "translated": false,
            "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": 1631344,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=d33d3dc9f658cb3b",
            "url": "https://translate-dev.freebsd.org/api/units/1631344/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.342888Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "int\njail_attach(struct thread *td, struct jail_attach_args *uap)\n{\n    struct proc *p;\n    struct ucred *newcred, *oldcred;\n    struct prison *pr;\n...\n    p = td->td_proc;\n...\n    pr = prison_find(uap->jid);\n...\n    change_root(pr->pr_root, td);\n...\n    newcred->cr_prison = pr;\n    p->p_ucred = newcred;\n...\n}\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6250486701003858849,
            "content_hash": -6250486701003858849,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:313",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 52,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127712/?format=api",
            "priority": 100,
            "id": 1631345,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=2941cf76415c9c5f",
            "url": "https://translate-dev.freebsd.org/api/units/1631345/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.343598Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "When a process is forked from its parent process, the man:fork[2] system call uses `crhold()` to maintain the credential for the newly forked process. It inherently keep the newly forked child's credential consistent with its parent, so the child process is also jailed."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5232469877447888724,
            "content_hash": 5232469877447888724,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:316",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 53,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 43,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127714/?format=api",
            "priority": 100,
            "id": 1631346,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=c89d77a177368f54",
            "url": "https://translate-dev.freebsd.org/api/units/1631346/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.344242Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "/usr/src/sys/kern/kern_fork.c:\np2->p_ucred = crhold(td->td_ucred);\n...\ntd2->td_ucred = crhold(p2->p_ucred);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4416722903964359959,
            "content_hash": -4416722903964359959,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:323",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 54,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127716/?format=api",
            "priority": 100,
            "id": 1631347,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=42b4a5eb6ddf62e9",
            "url": "https://translate-dev.freebsd.org/api/units/1631347/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.344901Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Restrictions"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4326217652693749668,
            "content_hash": -4326217652693749668,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:326",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 55,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127718/?format=api",
            "priority": 100,
            "id": 1631348,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=43f62ff7562a305c",
            "url": "https://translate-dev.freebsd.org/api/units/1631348/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.345533Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Throughout the kernel there are access restrictions relating to jailed processes. Usually, these restrictions only check whether the process is jailed, and if so, returns an error. For example:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3255974421327778012,
            "content_hash": -3255974421327778012,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:329",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 56,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127720/?format=api",
            "priority": 100,
            "id": 1631349,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=52d07483c2ffef24",
            "url": "https://translate-dev.freebsd.org/api/units/1631349/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.346137Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "if (jailed(td->td_ucred))\n    return (EPERM);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3608342913158452524,
            "content_hash": 3608342913158452524,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:334",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 57,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127722/?format=api",
            "priority": 100,
            "id": 1631350,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=b21368c2fe9b952c",
            "url": "https://translate-dev.freebsd.org/api/units/1631350/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.346778Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "SysV IPC"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2862600192316186374,
            "content_hash": 2862600192316186374,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:336",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 58,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127724/?format=api",
            "priority": 100,
            "id": 1631351,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=a7b9ffb54cf89f06",
            "url": "https://translate-dev.freebsd.org/api/units/1631351/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.347379Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "System V IPC is based on messages. Processes can send each other these messages which tell them how to act. The functions which deal with messages are: man:msgctl[3], man:msgget[3], man:msgsnd[3] and man:msgrcv[3]. Earlier, I mentioned that there were certain sysctls you could turn on or off in order to affect the behavior of jail. One of these sysctls was `security.jail.sysvipc_allowed`. By default, this sysctl is set to 0. If it were set to 1, it would defeat the whole purpose of having a jail; privileged users from the jail would be able to affect processes outside the jailed environment. The difference between a message and a signal is that the message only consists of the signal number."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4080190393770106179,
            "content_hash": 4080190393770106179,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:339",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 59,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 117,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127726/?format=api",
            "priority": 100,
            "id": 1631352,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=b89fbf8b9ca0dd43",
            "url": "https://translate-dev.freebsd.org/api/units/1631352/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.348000Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "[.filename]#/usr/src/sys/kern/sysv_msg.c#:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5115890813890283221,
            "content_hash": 5115890813890283221,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:341",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 60,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127728/?format=api",
            "priority": 100,
            "id": 1631353,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=c6ff4b970f9d46d5",
            "url": "https://translate-dev.freebsd.org/api/units/1631353/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.348736Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`msgget(key, msgflg)`: `msgget` returns (and possibly creates) a message descriptor that designates a message queue for use in other functions."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3098748163555332502,
            "content_hash": 3098748163555332502,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:343",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 61,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127730/?format=api",
            "priority": 100,
            "id": 1631354,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=ab00f709711c1196",
            "url": "https://translate-dev.freebsd.org/api/units/1631354/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.349356Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`msgctl(msgid, cmd, buf)`: Using this function, a process can query the status of a message descriptor."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6100741742919022227,
            "content_hash": 6100741742919022227,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:344",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 62,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127732/?format=api",
            "priority": 100,
            "id": 1631355,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=d4aa304ac515f693",
            "url": "https://translate-dev.freebsd.org/api/units/1631355/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.349993Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`msgsnd(msgid, msgp, msgsz, msgflg)`: `msgsnd` sends a message to a process."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -777231672871349731,
            "content_hash": -777231672871349731,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:345",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 63,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127734/?format=api",
            "priority": 100,
            "id": 1631356,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=7536b7e95652121d",
            "url": "https://translate-dev.freebsd.org/api/units/1631356/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.350617Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`msgrcv(msgid, msgp, msgsz, msgtyp, msgflg)`: a process receives messages using this function"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2985211165402693180,
            "content_hash": -2985211165402693180,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:346",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 64,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127736/?format=api",
            "priority": 100,
            "id": 1631357,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=56926642eaa481c4",
            "url": "https://translate-dev.freebsd.org/api/units/1631357/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.351231Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "In each of the system calls corresponding to these functions, there is this conditional:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4977791690415513173,
            "content_hash": 4977791690415513173,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:348",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 65,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127738/?format=api",
            "priority": 100,
            "id": 1631358,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=c514ab2b411b9e55",
            "url": "https://translate-dev.freebsd.org/api/units/1631358/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.351842Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "/usr/src/sys/kern/sysv_msg.c:\nif (!jail_sysvipc_allowed && jailed(td->td_ucred))\n    return (ENOSYS);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -491104376070444775,
            "content_hash": -491104376070444775,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:354",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 66,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127740/?format=api",
            "priority": 100,
            "id": 1631359,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=792f3f2c04ae6919",
            "url": "https://translate-dev.freebsd.org/api/units/1631359/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.352491Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Semaphore system calls allow processes to synchronize execution by doing a set of operations atomically on a set of semaphores. Basically semaphores provide another way for processes lock resources. However, process waiting on a semaphore, that is being used, will sleep until the resources are relinquished. The following semaphore system calls are blocked inside a jail: man:semget[2], man:semctl[2] and man:semop[2]."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5073720372180771946,
            "content_hash": -5073720372180771946,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:357",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 67,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 60,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127742/?format=api",
            "priority": 100,
            "id": 1631360,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=3996863406809b96",
            "url": "https://translate-dev.freebsd.org/api/units/1631360/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.353130Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "[.filename]#/usr/src/sys/kern/sysv_sem.c#:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6837744181303682262,
            "content_hash": -6837744181303682262,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:359",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 68,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127744/?format=api",
            "priority": 100,
            "id": 1631361,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=211b73e520665b2a",
            "url": "https://translate-dev.freebsd.org/api/units/1631361/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.353774Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`semctl(semid, semnum, cmd, ...)`: `semctl` does the specified `cmd` on the semaphore queue indicated by `semid`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5731268266615678321,
            "content_hash": -5731268266615678321,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:361",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 69,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127746/?format=api",
            "priority": 100,
            "id": 1631362,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=307671e087e75a8f",
            "url": "https://translate-dev.freebsd.org/api/units/1631362/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.354370Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`semget(key, nsems, flag)`: `semget` creates an array of semaphores, corresponding to `key`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2003990664852974168,
            "content_hash": -2003990664852974168,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:362",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 70,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127748/?format=api",
            "priority": 100,
            "id": 1631363,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=6430651ba03d55a8",
            "url": "https://translate-dev.freebsd.org/api/units/1631363/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.354987Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`key and flag take on the same meaning as they do in msgget.`"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4215462488937116304,
            "content_hash": -4215462488937116304,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:364",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 71,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1203084/?format=api",
            "priority": 100,
            "id": 1631364,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=457fab3366eb4d70",
            "url": "https://translate-dev.freebsd.org/api/units/1631364/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.355587Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`semop(semid, array, nops)`: `semop` performs a group of operations indicated by `array`, to the set of semaphores identified by `semid`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5989834617644839845,
            "content_hash": 5989834617644839845,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:365",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 72,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127752/?format=api",
            "priority": 100,
            "id": 1631365,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=d3202ad9680ef3a5",
            "url": "https://translate-dev.freebsd.org/api/units/1631365/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.356179Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "System V IPC allows for processes to share memory. Processes can communicate directly with each other by sharing parts of their virtual address space and then reading and writing data stored in the shared memory. These system calls are blocked within a jailed environment: man:shmdt[2], man:shmat[2], man:shmctl[2] and man:shmget[2]."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1534099203506055106,
            "content_hash": 1534099203506055106,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:367",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 73,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 49,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127754/?format=api",
            "priority": 100,
            "id": 1631366,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=954a3718fb3027c2",
            "url": "https://translate-dev.freebsd.org/api/units/1631366/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.356784Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "[.filename]#/usr/src/sys/kern/sysv_shm.c#:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2708720254190416677,
            "content_hash": 2708720254190416677,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:369",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 74,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127756/?format=api",
            "priority": 100,
            "id": 1631367,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=a5974eb842ecf325",
            "url": "https://translate-dev.freebsd.org/api/units/1631367/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.357442Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`shmctl(shmid, cmd, buf)`: `shmctl` does various control operations on the shared memory region identified by `shmid`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5592195854022675881,
            "content_hash": 5592195854022675881,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:371",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 75,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127758/?format=api",
            "priority": 100,
            "id": 1631368,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=cd9b7880216f0da9",
            "url": "https://translate-dev.freebsd.org/api/units/1631368/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.358050Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`shmget(key, size, flag)`: `shmget` accesses or creates a shared memory region of `size` bytes."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8174633782604894272,
            "content_hash": -8174633782604894272,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:372",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 76,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127760/?format=api",
            "priority": 100,
            "id": 1631369,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=0e8ddde2c2ed6fc0",
            "url": "https://translate-dev.freebsd.org/api/units/1631369/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.358652Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`shmat(shmid, addr, flag)`: `shmat` attaches a shared memory region identified by `shmid` to the address space of a process."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7747777264409683954,
            "content_hash": 7747777264409683954,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:373",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 77,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127762/?format=api",
            "priority": 100,
            "id": 1631370,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=eb85a25f5bfca7f2",
            "url": "https://translate-dev.freebsd.org/api/units/1631370/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.359248Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "`shmdt(addr)`: `shmdt` detaches the shared memory region previously attached at `addr`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1278840738368715386,
            "content_hash": -1278840738368715386,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:374",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 78,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127764/?format=api",
            "priority": 100,
            "id": 1631371,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=6e40a51fc13c0586",
            "url": "https://translate-dev.freebsd.org/api/units/1631371/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.359879Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Sockets"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3489371552239677111,
            "content_hash": -3489371552239677111,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:375",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 79,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127766/?format=api",
            "priority": 100,
            "id": 1631372,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=4f93430f8b669149",
            "url": "https://translate-dev.freebsd.org/api/units/1631372/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.360488Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Jail treats the man:socket[2] system call and related lower-level socket functions in a special manner. In order to determine whether a certain socket is allowed to be created, it first checks to see if the sysctl `security.jail.socket_unixiproute_only` is set. If set, sockets are only allowed to be created if the family specified is either `PF_LOCAL`, `PF_INET` or `PF_ROUTE`. Otherwise, it returns an error."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4732418115050913858,
            "content_hash": -4732418115050913858,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:378",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 80,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 63,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127768/?format=api",
            "priority": 100,
            "id": 1631373,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=3e5312cc3bc43fbe",
            "url": "https://translate-dev.freebsd.org/api/units/1631373/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.361092Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3637621164897524774,
            "content_hash": -3637621164897524774,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:396",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 81,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 44,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127770/?format=api",
            "priority": 100,
            "id": 1631374,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=4d8492d2ced723da",
            "url": "https://translate-dev.freebsd.org/api/units/1631374/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.361820Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Berkeley Packet Filter"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2187853083053207604,
            "content_hash": 2187853083053207604,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:398",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 82,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127772/?format=api",
            "priority": 100,
            "id": 1631375,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=9e5cd0c98c213034",
            "url": "https://translate-dev.freebsd.org/api/units/1631375/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.362469Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "The Berkeley Packet Filter provides a raw interface to data link layers in a protocol independent fashion. BPF is now controlled by the man:devfs[8] whether it can be used in a jailed environment."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6220800416275322453,
            "content_hash": -6220800416275322453,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:401",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 83,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127774/?format=api",
            "priority": 100,
            "id": 1631376,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=29ab46fb094ea9ab",
            "url": "https://translate-dev.freebsd.org/api/units/1631376/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.363337Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Protocols"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3330477790358382675,
            "content_hash": 3330477790358382675,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:402",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 84,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127776/?format=api",
            "priority": 100,
            "id": 1631377,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=ae383be79aa3a853",
            "url": "https://translate-dev.freebsd.org/api/units/1631377/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.363996Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "There are certain protocols which are very common, such as TCP, UDP, IP and ICMP. IP and ICMP are on the same level: the network layer 2. There are certain precautions which are taken in order to prevent a jailed process from binding a protocol to a certain address only if the `nam` parameter is set. `nam` is a pointer to a `sockaddr` structure, which describes the address on which to bind the service. A more exact definition is that `sockaddr` \"may be used as a template for referring to the identifying tag and length of each address\". In the function `in_pcbbind_setup()`, `sin` is a pointer to a `sockaddr_in` structure, which contains the port, address, length and domain family of the socket which is to be bound. Basically, this disallows any processes from jail to be able to specify the address that does not belong to the jail in which the calling process exists."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8016322601427626415,
            "content_hash": 8016322601427626415,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:405",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 85,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 154,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127778/?format=api",
            "priority": 100,
            "id": 1631378,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=ef3fb2ef070769af",
            "url": "https://translate-dev.freebsd.org/api/units/1631378/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.364628Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8935586237356513445,
            "content_hash": -8935586237356513445,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:442",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 86,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 82,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127780/?format=api",
            "priority": 100,
            "id": 1631379,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=03fe6ba8ee7ee75b",
            "url": "https://translate-dev.freebsd.org/api/units/1631379/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.365488Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "You might be wondering what function `prison_ip()` does. `prison_ip()` is given three arguments, a pointer to the credential(represented by `cred`), any flags, and an IP address. It returns 1 if the IP address does NOT belong to the jail or 0 otherwise. As you can see from the code, if it is indeed an IP address not belonging to the jail, the protocol is not allowed to bind to that address."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4275660772017737782,
            "content_hash": 4275660772017737782,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:445",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 87,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 71,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127782/?format=api",
            "priority": 100,
            "id": 1631380,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=bb5632d198309036",
            "url": "https://translate-dev.freebsd.org/api/units/1631380/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.366183Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4016682008452420395,
            "content_hash": -4016682008452420395,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:453",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 88,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127784/?format=api",
            "priority": 100,
            "id": 1631381,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=4841e0fe9e7dacd5",
            "url": "https://translate-dev.freebsd.org/api/units/1631381/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.366872Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "    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"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5757070790944240220,
            "content_hash": -5757070790944240220,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:478",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 89,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127786/?format=api",
            "priority": 100,
            "id": 1631382,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=301ac69e2efdcda4",
            "url": "https://translate-dev.freebsd.org/api/units/1631382/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.367581Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Filesystem"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7615409116142431035,
            "content_hash": -7615409116142431035,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:480",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 90,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127788/?format=api",
            "priority": 100,
            "id": 1631383,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=1650a1c1cd0f14c5",
            "url": "https://translate-dev.freebsd.org/api/units/1631383/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.368224Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "Even `root` users within the jail are not allowed to unset or modify any file flags, such as immutable, append-only, and undeleteable flags, if the securelevel is greater than 0."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1910680242308531344,
            "content_hash": 1910680242308531344,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:483",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 91,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127790/?format=api",
            "priority": 100,
            "id": 1631384,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=9a84198ea2284490",
            "url": "https://translate-dev.freebsd.org/api/units/1631384/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.368819Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/el/?format=api",
            "source": [
                "/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"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5355022326809956027,
            "content_hash": -5355022326809956027,
            "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:528",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 92,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 80,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1127792/?format=api",
            "priority": 100,
            "id": 1631385,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/el/?checksum=35af2390de34f145",
            "url": "https://translate-dev.freebsd.org/api/units/1631385/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:33:20.369603Z"
        }
    ]
}