Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/freebsd-doc/articles_pam/es/units/?format=api&page=5
https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/units/?format=api&page=6", "previous": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/units/?format=api&page=4", "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -5128168337488259809, "content_hash": -5128168337488259809, "location": "article.translate.xml:1125", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-permit.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 202, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100429/?format=api", "priority": 100, "id": 28323, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=38d51611379b551f", "url": "https://translate-dev.freebsd.org/api/units/28323/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.107355Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</manvolnum></citerefentry> module is one of the simplest modules available; it responds to any request with <literal>PAM_SUCCESS</literal>. It is useful as a placeholder for services where one or more chains would otherwise be empty." ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</manvolnum></citerefentry> es uno de los módulos más simples de los que hay disponibles; responde a cualquier solicitud con <literal>PAM_SUCCESS</literal>. Es útil para marcar la posición en los servicios donde una o más chains estarían vacías." ], "id_hash": -8421978739091158938, "content_hash": -8421978739091158938, "location": "article.translate.xml:1127", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 203, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 34, "source_unit": "https://translate-dev.freebsd.org/api/units/100430/?format=api", "priority": 100, "id": 28324, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=0b1f1ef556944866", "url": "https://translate-dev.freebsd.org/api/units/28324/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.118395Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -8515354461845503408, "content_hash": -8515354461845503408, "location": "article.translate.xml:1135", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-radius.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 204, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100431/?format=api", "priority": 100, "id": 28325, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=09d3623bb5294250", "url": "https://translate-dev.freebsd.org/api/units/28325/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.130209Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</manvolnum></citerefentry> module" ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -7263415681950392848, "content_hash": -7263415681950392848, "location": "article.translate.xml:1137", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 205, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100432/?format=api", "priority": 100, "id": 28326, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=1b3329eba5585df0", "url": "https://translate-dev.freebsd.org/api/units/28326/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.137010Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 2731404234996481854, "content_hash": 2731404234996481854, "location": "article.translate.xml:1141", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-rhosts.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 206, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100433/?format=api", "priority": 100, "id": 28327, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=a5e7e5ae1cf67f3e", "url": "https://translate-dev.freebsd.org/api/units/28327/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.154249Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</manvolnum></citerefentry> module" ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -4538177668673845212, "content_hash": -4538177668673845212, "location": "article.translate.xml:1143", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 207, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100434/?format=api", "priority": 100, "id": 28328, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=410527746315c824", "url": "https://translate-dev.freebsd.org/api/units/28328/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.170908Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 2747552742342181560, "content_hash": 2747552742342181560, "location": "article.translate.xml:1147", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-rootok.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 208, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100435/?format=api", "priority": 100, "id": 28329, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=a62144a978f4c2b8", "url": "https://translate-dev.freebsd.org/api/units/28329/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.189015Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</manvolnum></citerefentry> module reports success if and only if the real user id of the process calling it (which is assumed to be run by the applicant) is 0. This is useful for non-networked services such as <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> or <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, to which the <literal>root</literal> should have automatic access." ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</manvolnum></citerefentry> informa de éxito si, y solo si, si el identificador del usuario real en el proceso que lo llama (se supone que lo ejecuta el applicant) es 0. Esto es útil para servicios no contectados en red, como <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> o <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, a los que <literal>root</literal> debe tener acceso automático." ], "id_hash": 4908497187430409237, "content_hash": 4908497187430409237, "location": "article.translate.xml:1149", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 209, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 48, "source_unit": "https://translate-dev.freebsd.org/api/units/100436/?format=api", "priority": 100, "id": 28330, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=c41e7c2f85cb2415", "url": "https://translate-dev.freebsd.org/api/units/28330/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.201094Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -7126676655653282316, "content_hash": -7126676655653282316, "location": "article.translate.xml:1158", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-securetty.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 210, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100437/?format=api", "priority": 100, "id": 28331, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=1d18f55726b79df4", "url": "https://translate-dev.freebsd.org/api/units/28331/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.210454Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</manvolnum></citerefentry> module" ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 668961222636935698, "content_hash": 668961222636935698, "location": "article.translate.xml:1160", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 211, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100438/?format=api", "priority": 100, "id": 28332, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=8948a0b00bc91a12", "url": "https://translate-dev.freebsd.org/api/units/28332/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.226347Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 319589425001677537, "content_hash": 319589425001677537, "location": "article.translate.xml:1164", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-self.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 212, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100439/?format=api", "priority": 100, "id": 28333, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=846f68e3873242e1", "url": "https://translate-dev.freebsd.org/api/units/28333/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.236328Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</manvolnum></citerefentry> module reports success if and only if the names of the applicant matches that of the target account. It is most useful for non-networked services such as <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>, where the identity of the applicant can be easily verified." ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</manvolnum></citerefentry> informa de éxito si y solo si, los nombres del applicant coinciden con los de la cuenta de destino. Es más útil para servicios no conectados en red como <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>, donde la identidad del solicitante se puede verificar fácilmente." ], "id_hash": -3646146893188397062, "content_hash": -3646146893188397062, "location": "article.translate.xml:1166", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 213, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 40, "source_unit": "https://translate-dev.freebsd.org/api/units/100440/?format=api", "priority": 100, "id": 28334, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=4d6648b8009c87fa", "url": "https://translate-dev.freebsd.org/api/units/28334/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.244198Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 579817620111205301, "content_hash": 579817620111205301, "location": "article.translate.xml:1174", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-ssh.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 214, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100441/?format=api", "priority": 100, "id": 28335, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=880bed0db13da3b5", "url": "https://translate-dev.freebsd.org/api/units/28335/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.259919Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</manvolnum></citerefentry> module provides both authentication and session services. The authentication service allows users who have passphrase-protected SSH secret keys in their <filename>~/.ssh</filename> directory to authenticate themselves by typing their passphrase. The session service starts <citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</manvolnum></citerefentry> and preloads it with the keys that were decrypted in the authentication phase. This feature is particularly useful for local logins, whether in X (using <citerefentry vendor=\"xfree86\"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></citerefentry> or another PAM-aware X login manager) or at the console." ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</manvolnum></citerefentry> proporciona servicios de autenticación y sesión. El servicio de autenticación permit a los usuarios que tienen claves secretas SSH protegidas con contraseña en su directorio <filename>~/.ssh</filename> para autenticarse escribiendo su contraseña. El servicio de sesión inicia <citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</manvolnum></citerefentry> y lo precarga con las claves que se descifraron en la fase de autenticación. Esta característica es particularmente útil para inicios de sesión locales, ya sea en X (usando <citerefentry vendor=\"xfree86\"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></citerefentry> u otro administrador de inicio de sesión en el entorno X compatible con PAM) o en la consola." ], "id_hash": -7277383836001312800, "content_hash": -7277383836001312800, "location": "article.translate.xml:1176", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 215, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 73, "source_unit": "https://translate-dev.freebsd.org/api/units/100442/?format=api", "priority": 100, "id": 28336, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=1b0189f558f8dfe0", "url": "https://translate-dev.freebsd.org/api/units/28336/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.274346Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 6941675844055949487, "content_hash": 6941675844055949487, "location": "article.translate.xml:1189", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-tacplus.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 216, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100443/?format=api", "priority": 100, "id": 28337, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=e055c966cedd60af", "url": "https://translate-dev.freebsd.org/api/units/28337/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.287392Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</manvolnum></citerefentry> module" ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -8737821726076457697, "content_hash": -8737821726076457697, "location": "article.translate.xml:1191", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 217, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100444/?format=api", "priority": 100, "id": 28338, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=06bd056f6285ad1f", "url": "https://translate-dev.freebsd.org/api/units/28338/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.301072Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": -8681024867428472523, "content_hash": -8681024867428472523, "location": "article.translate.xml:1195", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-modules-unix.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 218, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100445/?format=api", "priority": 100, "id": 28339, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=0786cde08a97e935", "url": "https://translate-dev.freebsd.org/api/units/28339/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.313595Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The <citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</manvolnum></citerefentry> module implements traditional <trademark class=\"registered\">UNIX</trademark> password authentication, using <citerefentry><refentrytitle>getpwnam</refentrytitle><manvolnum>3</manvolnum></citerefentry> to obtain the target account's password and compare it with the one provided by the applicant. It also provides account management services (enforcing account and password expiration times) and password-changing services. This is probably the single most useful module, as the great majority of admins will want to maintain historical behavior for at least some services." ], "previous_source": "", "target": [ "El módulo <citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</manvolnum></citerefentry> implementa la autenticación con contraseña tradicional <trademark class=\"registered\">UNIX</trademark>, usando <citerefentry><refentrytitle>getpwnam</refentrytitle><manvolnum>3</manvolnum></citerefentry> para obtener la contraseña de la cuenta de destino y compararla con la proporciona por el applicant. También proporciona servicios de administración de cuentas (cumplimiento con los tiempos de expiración de cuentas y contraseñas) y servicios de cambio de contraseñas. Este es probablemente el módulo más útil, ya que la gran mayoría de los administradores querrán mantener el comportamiento de siempre en al menos algunos servicios." ], "id_hash": 6654876385470721459, "content_hash": 6654876385470721459, "location": "article.translate.xml:1197", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 219, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 67, "source_unit": "https://translate-dev.freebsd.org/api/units/100446/?format=api", "priority": 100, "id": 28340, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=dc5aded0441e2db3", "url": "https://translate-dev.freebsd.org/api/units/28340/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.323232Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "PAM Application Programming" ], "previous_source": "", "target": [ "Programación de aplicaciones PAM" ], "id_hash": 8647330306052483333, "content_hash": 8647330306052483333, "location": "article.translate.xml:1210", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-appl-prog.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 220, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100447/?format=api", "priority": 100, "id": 28341, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=f8017d190bba6905", "url": "https://translate-dev.freebsd.org/api/units/28341/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.334154Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "This section has not yet been written." ], "previous_source": "", "target": [ "Esta sección aún no se ha escrito." ], "id_hash": -180360643287394527, "content_hash": -180360643287394527, "location": "article.translate.xml:1213, article.translate.xml:1234", "context": "", "note": "(itstool) path: section/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 221, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/100448/?format=api", "priority": 100, "id": 28342, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=7d7f3af35564d721", "url": "https://translate-dev.freebsd.org/api/units/28342/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.348981Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "PAM Module Programming" ], "previous_source": "", "target": [ "Programación del módulo PAM" ], "id_hash": -1012352475256240404, "content_hash": -1012352475256240404, "location": "article.translate.xml:1231", "context": "", "note": "(itstool) path: section/title\n(itstool) id: article.translate.xml#pam-module-prog.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 222, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100449/?format=api", "priority": 100, "id": 28343, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=71f366c994dd46ec", "url": "https://translate-dev.freebsd.org/api/units/28343/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.364431Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Sample PAM Application" ], "previous_source": "", "target": [ "Ejemplo de aplicación PAM" ], "id_hash": -6246131087628686312, "content_hash": -6246131087628686312, "location": "article.translate.xml:1238", "context": "", "note": "(itstool) path: appendix/title\n(itstool) id: article.translate.xml#pam-sample-appl.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 223, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100450/?format=api", "priority": 100, "id": 28344, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=295148de855e2c18", "url": "https://translate-dev.freebsd.org/api/units/28344/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.383272Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The following is a minimal implementation of <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> using PAM. Note that it uses the OpenPAM-specific <citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</manvolnum></citerefentry> conversation function, which is prototyped in <filename>security/openpam.h</filename>. If you wish build this application on a system with a different PAM library, you will have to provide your own conversation function. A robust conversation function is surprisingly difficult to implement; the one presented in <xref linkend=\"pam-sample-conv\"/> is a good starting point, but should not be used in real-world applications." ], "previous_source": "", "target": [ "El siguiente ejemplo es una implementación mínima del comando <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> usando PAM. Tenga en cuenta que utiliza la función de conversación <citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</manvolnum></citerefentry> específica de OpenPAM, que tiene su prototipo en <filename>security/openpam.h</filename>. Si desea compilar esta aplicación en un sistema con una libreria de PAM diferente, tendrá que proporcionar su propia función de conversación. Una función de conversación robusta es sorprendentemente difícil de implementar; el ejemplo del <xref linkend=\"pam-sample-conv\"/> es un buen punto de partida, pero no debe utilizarse en aplicaciones del mundo real." ], "id_hash": 183089386646746379, "content_hash": 183089386646746379, "location": "article.translate.xml:1241", "context": "", "note": "(itstool) path: appendix/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 224, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 75, "source_unit": "https://translate-dev.freebsd.org/api/units/100451/?format=api", "priority": 100, "id": 28345, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=828a76d3bd39350b", "url": "https://translate-dev.freebsd.org/api/units/28345/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.395109Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "/*-\n * Copyright (c) 2002,2003 Networks Associates Technology, Inc.\n * All rights reserved.\n *\n * This software was developed for the FreeBSD Project by ThinkSec AS and\n * Network Associates Laboratories, the Security Research Division of\n * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n * (\"CBOSS\"), as part of the DARPA CHATS research program.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n * products derived from this software without specific prior written\n * permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $P4: //depot/projects/openpam/bin/su/su.c#10 $\n * $FreeBSD: head/en_US.ISO8859-1/articles/pam/su.c 38826 2012-05-17 19:12:14Z hrs $\n */\n\n#include <sys/param.h>\n#include <sys/wait.h>\n\n#include <err.h>\n#include <pwd.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <syslog.h>\n#include <unistd.h>\n\n#include <security/pam_appl.h>\n#include <security/openpam.h>\t/* for openpam_ttyconv() */\n\nextern char **environ;\n\nstatic pam_handle_t *pamh;\nstatic struct pam_conv pamc;\n\nstatic void\nusage(void)\n{\n\n\tfprintf(stderr, \"Usage: su [login [args]]\\n\");\n\texit(1);\n}\n\nint\nmain(int argc, char *argv[])\n{\n\tchar hostname[MAXHOSTNAMELEN];\n\tconst char *user, *tty;\n\tchar **args, **pam_envlist, **pam_env;\n\tstruct passwd *pwd;\n\tint o, pam_err, status;\n\tpid_t pid;\n\n\twhile ((o = getopt(argc, argv, \"h\")) != -1)\n\t\tswitch (o) {\n\t\tcase 'h':\n\t\tdefault:\n\t\t\tusage();\n\t\t}\n\n\targc -= optind;\n\targv += optind;\n\n\tif (argc > 0) {\n\t\tuser = *argv;\n\t\t--argc;\n\t\t++argv;\n\t} else {\n\t\tuser = \"root\";\n\t}\n\n\t/* initialize PAM */\n\tpamc.conv = &openpam_ttyconv;\n\tpam_start(\"su\", user, &pamc, &pamh);\n\n\t/* set some items */\n\tgethostname(hostname, sizeof(hostname));\n\tif ((pam_err = pam_set_item(pamh, PAM_RHOST, hostname)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\tuser = getlogin();\n\tif ((pam_err = pam_set_item(pamh, PAM_RUSER, user)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\ttty = ttyname(STDERR_FILENO);\n\tif ((pam_err = pam_set_item(pamh, PAM_TTY, tty)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* authenticate the applicant */\n\tif ((pam_err = pam_authenticate(pamh, 0)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\tif ((pam_err = pam_acct_mgmt(pamh, 0)) == PAM_NEW_AUTHTOK_REQD)\n\t\tpam_err = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);\n\tif (pam_err != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* establish the requested credentials */\n\tif ((pam_err = pam_setcred(pamh, PAM_ESTABLISH_CRED)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* authentication succeeded; open a session */\n\tif ((pam_err = pam_open_session(pamh, 0)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* get mapped user name; PAM may have changed it */\n\tpam_err = pam_get_item(pamh, PAM_USER, (const void **)&user);\n\tif (pam_err != PAM_SUCCESS || (pwd = getpwnam(user)) == NULL)\n\t\tgoto pamerr;\n\n\t/* export PAM environment */\n\tif ((pam_envlist = pam_getenvlist(pamh)) != NULL) {\n\t\tfor (pam_env = pam_envlist; *pam_env != NULL; ++pam_env) {\n\t\t\tputenv(*pam_env);\n\t\t\tfree(*pam_env);\n\t\t}\n\t\tfree(pam_envlist);\n\t}\n\n\t/* build argument list */\n\tif ((args = calloc(argc + 2, sizeof *args)) == NULL) {\n\t\twarn(\"calloc()\");\n\t\tgoto err;\n\t}\n\t*args = pwd->pw_shell;\n\tmemcpy(args + 1, argv, argc * sizeof *args);\n\n\t/* fork and exec */\n\tswitch ((pid = fork())) {\n\tcase -1:\n\t\twarn(\"fork()\");\n\t\tgoto err;\n\tcase 0:\n\t\t/* child: give up privs and start a shell */\n\n\t\t/* set uid and groups */\n\t\tif (initgroups(pwd->pw_name, pwd->pw_gid) == -1) {\n\t\t\twarn(\"initgroups()\");\n\t\t\t_exit(1);\n\t\t}\n\t\tif (setgid(pwd->pw_gid) == -1) {\n\t\t\twarn(\"setgid()\");\n\t\t\t_exit(1);\n\t\t}\n\t\tif (setuid(pwd->pw_uid) == -1) {\n\t\t\twarn(\"setuid()\");\n\t\t\t_exit(1);\n\t\t}\n\t\texecve(*args, args, environ);\n\t\twarn(\"execve()\");\n\t\t_exit(1);\n\tdefault:\n\t\t/* parent: wait for child to exit */\n\t\twaitpid(pid, &status, 0);\n\n\t\t/* close the session and release PAM resources */\n\t\tpam_err = pam_close_session(pamh, 0);\n\t\tpam_end(pamh, pam_err);\n\n\t\texit(WEXITSTATUS(status));\n\t}\n\npamerr:\n\tfprintf(stderr, \"Sorry\\n\");\nerr:\n\tpam_end(pamh, pam_err);\n\texit(1);\n}\n" ], "previous_source": "", "target": [ "/*-\n * Copyright (c) 2002,2003 Networks Associates Technology, Inc.\n * All rights reserved.\n *\n * This software was developed for the FreeBSD Project by ThinkSec AS and\n * Network Associates Laboratories, the Security Research Division of\n * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n * (\"CBOSS\"), as part of the DARPA CHATS research program.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n * products derived from this software without specific prior written\n * permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $P4: //depot/projects/openpam/bin/su/su.c#10 $\n * $FreeBSD: head/en_US.ISO8859-1/articles/pam/su.c 38826 2012-05-17 19:12:14Z hrs $\n */\n\n#include <sys/param.h>\n#include <sys/wait.h>\n\n#include <err.h>\n#include <pwd.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <syslog.h>\n#include <unistd.h>\n\n#include <security/pam_appl.h>\n#include <security/openpam.h>\t/* for openpam_ttyconv() */\n\nextern char **environ;\n\nstatic pam_handle_t *pamh;\nstatic struct pam_conv pamc;\n\nstatic void\nusage(void)\n{\n\n\tfprintf(stderr, \"Usage: su [login [args]]\\n\");\n\texit(1);\n}\n\nint\nmain(int argc, char *argv[])\n{\n\tchar hostname[MAXHOSTNAMELEN];\n\tconst char *user, *tty;\n\tchar **args, **pam_envlist, **pam_env;\n\tstruct passwd *pwd;\n\tint o, pam_err, status;\n\tpid_t pid;\n\n\twhile ((o = getopt(argc, argv, \"h\")) != -1)\n\t\tswitch (o) {\n\t\tcase 'h':\n\t\tdefault:\n\t\t\tusage();\n\t\t}\n\n\targc -= optind;\n\targv += optind;\n\n\tif (argc > 0) {\n\t\tuser = *argv;\n\t\t--argc;\n\t\t++argv;\n\t} else {\n\t\tuser = \"root\";\n\t}\n\n\t/* initialize PAM */\n\tpamc.conv = &openpam_ttyconv;\n\tpam_start(\"su\", user, &pamc, &pamh);\n\n\t/* set some items */\n\tgethostname(hostname, sizeof(hostname));\n\tif ((pam_err = pam_set_item(pamh, PAM_RHOST, hostname)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\tuser = getlogin();\n\tif ((pam_err = pam_set_item(pamh, PAM_RUSER, user)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\ttty = ttyname(STDERR_FILENO);\n\tif ((pam_err = pam_set_item(pamh, PAM_TTY, tty)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* authenticate the applicant */\n\tif ((pam_err = pam_authenticate(pamh, 0)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\tif ((pam_err = pam_acct_mgmt(pamh, 0)) == PAM_NEW_AUTHTOK_REQD)\n\t\tpam_err = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);\n\tif (pam_err != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* establish the requested credentials */\n\tif ((pam_err = pam_setcred(pamh, PAM_ESTABLISH_CRED)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* authentication succeeded; open a session */\n\tif ((pam_err = pam_open_session(pamh, 0)) != PAM_SUCCESS)\n\t\tgoto pamerr;\n\n\t/* get mapped user name; PAM may have changed it */\n\tpam_err = pam_get_item(pamh, PAM_USER, (const void **)&user);\n\tif (pam_err != PAM_SUCCESS || (pwd = getpwnam(user)) == NULL)\n\t\tgoto pamerr;\n\n\t/* export PAM environment */\n\tif ((pam_envlist = pam_getenvlist(pamh)) != NULL) {\n\t\tfor (pam_env = pam_envlist; *pam_env != NULL; ++pam_env) {\n\t\t\tputenv(*pam_env);\n\t\t\tfree(*pam_env);\n\t\t}\n\t\tfree(pam_envlist);\n\t}\n\n\t/* build argument list */\n\tif ((args = calloc(argc + 2, sizeof *args)) == NULL) {\n\t\twarn(\"calloc()\");\n\t\tgoto err;\n\t}\n\t*args = pwd->pw_shell;\n\tmemcpy(args + 1, argv, argc * sizeof *args);\n\n\t/* fork and exec */\n\tswitch ((pid = fork())) {\n\tcase -1:\n\t\twarn(\"fork()\");\n\t\tgoto err;\n\tcase 0:\n\t\t/* child: give up privs and start a shell */\n\n\t\t/* set uid and groups */\n\t\tif (initgroups(pwd->pw_name, pwd->pw_gid) == -1) {\n\t\t\twarn(\"initgroups()\");\n\t\t\t_exit(1);\n\t\t}\n\t\tif (setgid(pwd->pw_gid) == -1) {\n\t\t\twarn(\"setgid()\");\n\t\t\t_exit(1);\n\t\t}\n\t\tif (setuid(pwd->pw_uid) == -1) {\n\t\t\twarn(\"setuid()\");\n\t\t\t_exit(1);\n\t\t}\n\t\texecve(*args, args, environ);\n\t\twarn(\"execve()\");\n\t\t_exit(1);\n\tdefault:\n\t\t/* parent: wait for child to exit */\n\t\twaitpid(pid, &status, 0);\n\n\t\t/* close the session and release PAM resources */\n\t\tpam_err = pam_close_session(pamh, 0);\n\t\tpam_end(pamh, pam_err);\n\n\t\texit(WEXITSTATUS(status));\n\t}\n\npamerr:\n\tfprintf(stderr, \"Sorry\\n\");\nerr:\n\tpam_end(pamh, pam_err);\n\texit(1);\n}\n" ], "id_hash": -3345463723566291862, "content_hash": -3345463723566291862, "location": "article.translate.xml:1251", "context": "", "note": "(itstool) path: appendix/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 225, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 713, "source_unit": "https://translate-dev.freebsd.org/api/units/100452/?format=api", "priority": 100, "id": 28346, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=51928677ebe0246a", "url": "https://translate-dev.freebsd.org/api/units/28346/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.412931Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Sample PAM Module" ], "previous_source": "", "target": [ "Ejemplo de módulo PAM" ], "id_hash": 9101583411037387177, "content_hash": 9101583411037387177, "location": "article.translate.xml:1441", "context": "", "note": "(itstool) path: appendix/title\n(itstool) id: article.translate.xml#pam-sample-module.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 226, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100453/?format=api", "priority": 100, "id": 28347, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=fe4f51e3dc78b9a9", "url": "https://translate-dev.freebsd.org/api/units/28347/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.428955Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The following is a minimal implementation of <citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</manvolnum></citerefentry>, offering only authentication services. It should build and run with most PAM implementations, but takes advantage of OpenPAM extensions if available: note the use of <citerefentry><refentrytitle>pam_get_authtok</refentrytitle><manvolnum>3</manvolnum></citerefentry>, which enormously simplifies prompting the user for a password." ], "previous_source": "", "target": [ "El siguiente ejemplo es una implementación mínima de <citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</manvolnum></citerefentry>, ofrece solo servicios de autenticación. Debería de compilarse y ejecutarse con la mayoría de las implementaciones de PAM, pero aprovecha las extensiones de OpenPAM si están disponibles: tenga en cuenta el uso de <citerefentry><refentrytitle>pam_get_authtok</refentrytitle><manvolnum>3</manvolnum></citerefentry>, que simplifica enormemente la solicitud de una contraseña al usuario." ], "id_hash": -9016843049684358581, "content_hash": -9016843049684358581, "location": "article.translate.xml:1443", "context": "", "note": "(itstool) path: appendix/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 227, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 43, "source_unit": "https://translate-dev.freebsd.org/api/units/100454/?format=api", "priority": 100, "id": 28348, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=02ddbd05041d2a4b", "url": "https://translate-dev.freebsd.org/api/units/28348/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.437997Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "/*-\n * Copyright (c) 2002 Networks Associates Technology, Inc.\n * All rights reserved.\n *\n * This software was developed for the FreeBSD Project by ThinkSec AS and\n * Network Associates Laboratories, the Security Research Division of\n * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n * (\"CBOSS\"), as part of the DARPA CHATS research program.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n * products derived from this software without specific prior written\n * permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $P4: //depot/projects/openpam/modules/pam_unix/pam_unix.c#3 $\n * $FreeBSD: head/en_US.ISO8859-1/articles/pam/pam_unix.c 38826 2012-05-17 19:12:14Z hrs $\n */\n\n#include <sys/param.h>\n\n#include <pwd.h>\n#include <stdlib.h>\n#include <stdio.h>\n#include <string.h>\n#include <unistd.h>\n\n#include <security/pam_modules.h>\n#include <security/pam_appl.h>\n\n#ifndef _OPENPAM\nstatic char password_prompt[] = \"Password:\";\n#endif\n\n#ifndef PAM_EXTERN\n#define PAM_EXTERN\n#endif\n\nPAM_EXTERN int\npam_sm_authenticate(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n#ifndef _OPENPAM\n\tstruct pam_conv *conv;\n\tstruct pam_message msg;\n\tconst struct pam_message *msgp;\n\tstruct pam_response *resp;\n#endif\n\tstruct passwd *pwd;\n\tconst char *user;\n\tchar *crypt_password, *password;\n\tint pam_err, retry;\n\n\t/* identify user */\n\tif ((pam_err = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS)\n\t\treturn (pam_err);\n\tif ((pwd = getpwnam(user)) == NULL)\n\t\treturn (PAM_USER_UNKNOWN);\n\n\t/* get password */\n#ifndef _OPENPAM\n\tpam_err = pam_get_item(pamh, PAM_CONV, (const void **)&conv);\n\tif (pam_err != PAM_SUCCESS)\n\t\treturn (PAM_SYSTEM_ERR);\n\tmsg.msg_style = PAM_PROMPT_ECHO_OFF;\n\tmsg.msg = password_prompt;\n\tmsgp = &msg;\n#endif\n\tfor (retry = 0; retry < 3; ++retry) {\n#ifdef _OPENPAM\n\t\tpam_err = pam_get_authtok(pamh, PAM_AUTHTOK,\n\t\t (const char **)&password, NULL);\n#else\n\t\tresp = NULL;\n\t\tpam_err = (*conv->conv)(1, &msgp, &resp, conv->appdata_ptr);\n\t\tif (resp != NULL) {\n\t\t\tif (pam_err == PAM_SUCCESS)\n\t\t\t\tpassword = resp->resp;\n\t\t\telse\n\t\t\t\tfree(resp->resp);\n\t\t\tfree(resp);\n\t\t}\n#endif\n\t\tif (pam_err == PAM_SUCCESS)\n\t\t\tbreak;\n\t}\n\tif (pam_err == PAM_CONV_ERR)\n\t\treturn (pam_err);\n\tif (pam_err != PAM_SUCCESS)\n\t\treturn (PAM_AUTH_ERR);\n\n\t/* compare passwords */\n\tif ((!pwd->pw_passwd[0] && (flags & PAM_DISALLOW_NULL_AUTHTOK)) ||\n\t (crypt_password = crypt(password, pwd->pw_passwd)) == NULL ||\n\t strcmp(crypt_password, pwd->pw_passwd) != 0)\n\t\tpam_err = PAM_AUTH_ERR;\n\telse\n\t\tpam_err = PAM_SUCCESS;\n#ifndef _OPENPAM\n\tfree(password);\n#endif\n\treturn (pam_err);\n}\n\nPAM_EXTERN int\npam_sm_setcred(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_acct_mgmt(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_open_session(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_close_session(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_chauthtok(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SERVICE_ERR);\n}\n\n#ifdef PAM_MODULE_ENTRY\nPAM_MODULE_ENTRY(\"pam_unix\");\n#endif\n" ], "previous_source": "", "target": [ "/*-\n * Copyright (c) 2002 Networks Associates Technology, Inc.\n * All rights reserved.\n *\n * This software was developed for the FreeBSD Project by ThinkSec AS and\n * Network Associates Laboratories, the Security Research Division of\n * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n * (\"CBOSS\"), as part of the DARPA CHATS research program.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n * products derived from this software without specific prior written\n * permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $P4: //depot/projects/openpam/modules/pam_unix/pam_unix.c#3 $\n * $FreeBSD: head/en_US.ISO8859-1/articles/pam/pam_unix.c 38826 2012-05-17 19:12:14Z hrs $\n */\n\n#include <sys/param.h>\n\n#include <pwd.h>\n#include <stdlib.h>\n#include <stdio.h>\n#include <string.h>\n#include <unistd.h>\n\n#include <security/pam_modules.h>\n#include <security/pam_appl.h>\n\n#ifndef _OPENPAM\nstatic char password_prompt[] = \"Password:\";\n#endif\n\n#ifndef PAM_EXTERN\n#define PAM_EXTERN\n#endif\n\nPAM_EXTERN int\npam_sm_authenticate(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n#ifndef _OPENPAM\n\tstruct pam_conv *conv;\n\tstruct pam_message msg;\n\tconst struct pam_message *msgp;\n\tstruct pam_response *resp;\n#endif\n\tstruct passwd *pwd;\n\tconst char *user;\n\tchar *crypt_password, *password;\n\tint pam_err, retry;\n\n\t/* identify user */\n\tif ((pam_err = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS)\n\t\treturn (pam_err);\n\tif ((pwd = getpwnam(user)) == NULL)\n\t\treturn (PAM_USER_UNKNOWN);\n\n\t/* get password */\n#ifndef _OPENPAM\n\tpam_err = pam_get_item(pamh, PAM_CONV, (const void **)&conv);\n\tif (pam_err != PAM_SUCCESS)\n\t\treturn (PAM_SYSTEM_ERR);\n\tmsg.msg_style = PAM_PROMPT_ECHO_OFF;\n\tmsg.msg = password_prompt;\n\tmsgp = &msg;\n#endif\n\tfor (retry = 0; retry < 3; ++retry) {\n#ifdef _OPENPAM\n\t\tpam_err = pam_get_authtok(pamh, PAM_AUTHTOK,\n\t\t (const char **)&password, NULL);\n#else\n\t\tresp = NULL;\n\t\tpam_err = (*conv->conv)(1, &msgp, &resp, conv->appdata_ptr);\n\t\tif (resp != NULL) {\n\t\t\tif (pam_err == PAM_SUCCESS)\n\t\t\t\tpassword = resp->resp;\n\t\t\telse\n\t\t\t\tfree(resp->resp);\n\t\t\tfree(resp);\n\t\t}\n#endif\n\t\tif (pam_err == PAM_SUCCESS)\n\t\t\tbreak;\n\t}\n\tif (pam_err == PAM_CONV_ERR)\n\t\treturn (pam_err);\n\tif (pam_err != PAM_SUCCESS)\n\t\treturn (PAM_AUTH_ERR);\n\n\t/* compare passwords */\n\tif ((!pwd->pw_passwd[0] && (flags & PAM_DISALLOW_NULL_AUTHTOK)) ||\n\t (crypt_password = crypt(password, pwd->pw_passwd)) == NULL ||\n\t strcmp(crypt_password, pwd->pw_passwd) != 0)\n\t\tpam_err = PAM_AUTH_ERR;\n\telse\n\t\tpam_err = PAM_SUCCESS;\n#ifndef _OPENPAM\n\tfree(password);\n#endif\n\treturn (pam_err);\n}\n\nPAM_EXTERN int\npam_sm_setcred(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_acct_mgmt(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_open_session(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_close_session(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SUCCESS);\n}\n\nPAM_EXTERN int\npam_sm_chauthtok(pam_handle_t *pamh, int flags,\n\tint argc, const char *argv[])\n{\n\n\treturn (PAM_SERVICE_ERR);\n}\n\n#ifdef PAM_MODULE_ENTRY\nPAM_MODULE_ENTRY(\"pam_unix\");\n#endif\n" ], "id_hash": -8076476969926511498, "content_hash": -8076476969926511498, "location": "article.translate.xml:1450", "context": "", "note": "(itstool) path: appendix/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 228, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 598, "source_unit": "https://translate-dev.freebsd.org/api/units/100455/?format=api", "priority": 100, "id": 28349, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=0fea96fca2e83476", "url": "https://translate-dev.freebsd.org/api/units/28349/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.458269Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Sample PAM Conversation Function" ], "previous_source": "", "target": [ "Ejemplo de función de conversación PAM" ], "id_hash": -4277764217168236388, "content_hash": -4277764217168236388, "location": "article.translate.xml:1619", "context": "", "note": "(itstool) path: appendix/title\n(itstool) id: article.translate.xml#pam-sample-conv.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 229, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/100456/?format=api", "priority": 100, "id": 28350, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=44a2541beacf709c", "url": "https://translate-dev.freebsd.org/api/units/28350/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.476059Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The conversation function presented below is a greatly simplified version of OpenPAM's <citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</manvolnum></citerefentry>. It is fully functional, and should give the reader a good idea of how a conversation function should behave, but it is far too simple for real-world use. Even if you are not using OpenPAM, feel free to download the source code and adapt <citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</manvolnum></citerefentry> to your uses; we believe it to be as robust as a tty-oriented conversation function can reasonably get." ], "previous_source": "", "target": [ "La función de conversación presentada a continuación es una versión muy simplificada de <citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</manvolnum></citerefentry> de OpenPAM. Es completamente funcional y debería de dar al lector una buena idea de cómo debería de comportarse una función de conversación, pero es demasiado simple para su uso en el mundo real. Incluso si no está utilizando OpenPAM, no dude en descargar el código fuente y adaptar <citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</manvolnum></citerefentry> a sus necesidades; creemos que es tan robusta como lo puede ser una función de conversación orientada a tty." ], "id_hash": -5943521159393046863, "content_hash": -5943521159393046863, "location": "article.translate.xml:1622", "context": "", "note": "(itstool) path: appendix/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 230, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 76, "source_unit": "https://translate-dev.freebsd.org/api/units/100457/?format=api", "priority": 100, "id": 28351, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=2d845efee35c0eb1", "url": "https://translate-dev.freebsd.org/api/units/28351/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.500702Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "/*-\n * Copyright (c) 2002 Networks Associates Technology, Inc.\n * All rights reserved.\n *\n * This software was developed for the FreeBSD Project by ThinkSec AS and\n * Network Associates Laboratories, the Security Research Division of\n * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n * (\"CBOSS\"), as part of the DARPA CHATS research program.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n * products derived from this software without specific prior written\n * permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $FreeBSD: head/en_US.ISO8859-1/articles/pam/converse.c 38826 2012-05-17 19:12:14Z hrs $\n */\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n\n#include <security/pam_appl.h>\n\nint\nconverse(int n, const struct pam_message **msg,\n\tstruct pam_response **resp, void *data)\n{\n\tstruct pam_response *aresp;\n\tchar buf[PAM_MAX_RESP_SIZE];\n\tint i;\n\n\tdata = data;\n\tif (n <= 0 || n > PAM_MAX_NUM_MSG)\n\t\treturn (PAM_CONV_ERR);\n\tif ((aresp = calloc(n, sizeof *aresp)) == NULL)\n\t\treturn (PAM_BUF_ERR);\n\tfor (i = 0; i < n; ++i) {\n\t\taresp[i].resp_retcode = 0;\n\t\taresp[i].resp = NULL;\n\t\tswitch (msg[i]->msg_style) {\n\t\tcase PAM_PROMPT_ECHO_OFF:\n\t\t\taresp[i].resp = strdup(getpass(msg[i]->msg));\n\t\t\tif (aresp[i].resp == NULL)\n\t\t\t\tgoto fail;\n\t\t\tbreak;\n\t\tcase PAM_PROMPT_ECHO_ON:\n\t\t\tfputs(msg[i]->msg, stderr);\n\t\t\tif (fgets(buf, sizeof buf, stdin) == NULL)\n\t\t\t\tgoto fail;\n\t\t\taresp[i].resp = strdup(buf);\n\t\t\tif (aresp[i].resp == NULL)\n\t\t\t\tgoto fail;\n\t\t\tbreak;\n\t\tcase PAM_ERROR_MSG:\n\t\t\tfputs(msg[i]->msg, stderr);\n\t\t\tif (strlen(msg[i]->msg) > 0 &&\n\t\t\t msg[i]->msg[strlen(msg[i]->msg) - 1] != '\\n')\n\t\t\t\tfputc('\\n', stderr);\n\t\t\tbreak;\n\t\tcase PAM_TEXT_INFO:\n\t\t\tfputs(msg[i]->msg, stdout);\n\t\t\tif (strlen(msg[i]->msg) > 0 &&\n\t\t\t msg[i]->msg[strlen(msg[i]->msg) - 1] != '\\n')\n\t\t\t\tfputc('\\n', stdout);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tgoto fail;\n\t\t}\n\t}\n\t*resp = aresp;\n\treturn (PAM_SUCCESS);\n fail:\n for (i = 0; i < n; ++i) {\n if (aresp[i].resp != NULL) {\n memset(aresp[i].resp, 0, strlen(aresp[i].resp));\n free(aresp[i].resp);\n }\n }\n memset(aresp, 0, n * sizeof *aresp);\n\t*resp = NULL;\n\treturn (PAM_CONV_ERR);\n}\n" ], "previous_source": "", "target": [ "/*-\n * Copyright (c) 2002 Networks Associates Technology, Inc.\n * All rights reserved.\n *\n * This software was developed for the FreeBSD Project by ThinkSec AS and\n * Network Associates Laboratories, the Security Research Division of\n * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n * (\"CBOSS\"), as part of the DARPA CHATS research program.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n * products derived from this software without specific prior written\n * permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $FreeBSD: head/en_US.ISO8859-1/articles/pam/converse.c 38826 2012-05-17 19:12:14Z hrs $\n */\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n\n#include <security/pam_appl.h>\n\nint\nconverse(int n, const struct pam_message **msg,\n\tstruct pam_response **resp, void *data)\n{\n\tstruct pam_response *aresp;\n\tchar buf[PAM_MAX_RESP_SIZE];\n\tint i;\n\n\tdata = data;\n\tif (n <= 0 || n > PAM_MAX_NUM_MSG)\n\t\treturn (PAM_CONV_ERR);\n\tif ((aresp = calloc(n, sizeof *aresp)) == NULL)\n\t\treturn (PAM_BUF_ERR);\n\tfor (i = 0; i < n; ++i) {\n\t\taresp[i].resp_retcode = 0;\n\t\taresp[i].resp = NULL;\n\t\tswitch (msg[i]->msg_style) {\n\t\tcase PAM_PROMPT_ECHO_OFF:\n\t\t\taresp[i].resp = strdup(getpass(msg[i]->msg));\n\t\t\tif (aresp[i].resp == NULL)\n\t\t\t\tgoto fail;\n\t\t\tbreak;\n\t\tcase PAM_PROMPT_ECHO_ON:\n\t\t\tfputs(msg[i]->msg, stderr);\n\t\t\tif (fgets(buf, sizeof buf, stdin) == NULL)\n\t\t\t\tgoto fail;\n\t\t\taresp[i].resp = strdup(buf);\n\t\t\tif (aresp[i].resp == NULL)\n\t\t\t\tgoto fail;\n\t\t\tbreak;\n\t\tcase PAM_ERROR_MSG:\n\t\t\tfputs(msg[i]->msg, stderr);\n\t\t\tif (strlen(msg[i]->msg) > 0 &&\n\t\t\t msg[i]->msg[strlen(msg[i]->msg) - 1] != '\\n')\n\t\t\t\tfputc('\\n', stderr);\n\t\t\tbreak;\n\t\tcase PAM_TEXT_INFO:\n\t\t\tfputs(msg[i]->msg, stdout);\n\t\t\tif (strlen(msg[i]->msg) > 0 &&\n\t\t\t msg[i]->msg[strlen(msg[i]->msg) - 1] != '\\n')\n\t\t\t\tfputc('\\n', stdout);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tgoto fail;\n\t\t}\n\t}\n\t*resp = aresp;\n\treturn (PAM_SUCCESS);\n fail:\n for (i = 0; i < n; ++i) {\n if (aresp[i].resp != NULL) {\n memset(aresp[i].resp, 0, strlen(aresp[i].resp));\n free(aresp[i].resp);\n }\n }\n memset(aresp, 0, n * sizeof *aresp);\n\t*resp = NULL;\n\treturn (PAM_CONV_ERR);\n}\n" ], "id_hash": -6539785640765174114, "content_hash": -6539785640765174114, "location": "article.translate.xml:1632", "context": "", "note": "(itstool) path: appendix/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 231, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 478, "source_unit": "https://translate-dev.freebsd.org/api/units/100458/?format=api", "priority": 100, "id": 28352, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=253e039be6fdce9e", "url": "https://translate-dev.freebsd.org/api/units/28352/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.511055Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Further Reading" ], "previous_source": "", "target": [ "Lecturas adicionales" ], "id_hash": 8740066373628807658, "content_hash": 8740066373628807658, "location": "article.translate.xml:1739", "context": "", "note": "(itstool) path: info/title\n(itstool) id: article.translate.xml#pam-further.title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 232, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/100459/?format=api", "priority": 100, "id": 28353, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=f94af40f597b49ea", "url": "https://translate-dev.freebsd.org/api/units/28353/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.532257Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "This is a list of documents relevant to PAM and related issues. It is by no means complete." ], "previous_source": "", "target": [ "Esto es un listado de documentos relevantes sobre PAM y temas relacionados. El listado no está completo." ], "id_hash": -2636903627077132806, "content_hash": -2636903627077132806, "location": "article.translate.xml:1742", "context": "", "note": "(itstool) path: abstract/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 233, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 18, "source_unit": "https://translate-dev.freebsd.org/api/units/100460/?format=api", "priority": 100, "id": 28354, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=5b67d61f4120ddfa", "url": "https://translate-dev.freebsd.org/api/units/28354/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.547066Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Papers" ], "previous_source": "", "target": [ "Artículos" ], "id_hash": -515963262327133602, "content_hash": -515963262327133602, "location": "article.translate.xml:1748", "context": "", "note": "(itstool) path: bibliodiv/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 234, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100461/?format=api", "priority": 100, "id": 28355, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=78d6ee2587d6ea5e", "url": "https://translate-dev.freebsd.org/api/units/28355/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.561404Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<personname> <surname>Samar</surname> <firstname>Vipin</firstname> </personname>" ], "previous_source": "", "target": [ "<personname> <surname>Samar</surname> <firstname>Vipin</firstname> </personname>" ], "id_hash": -1154759677242464653, "content_hash": -1154759677242464653, "location": "article.translate.xml:1754", "context": "", "note": "(itstool) path: authorgroup/author", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 236, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/100463/?format=api", "priority": 100, "id": 28357, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=6ff978311504a673", "url": "https://translate-dev.freebsd.org/api/units/28357/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.590753Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<personname> <surname>Lai</surname> <firstname>Charlie</firstname> </personname>" ], "previous_source": "", "target": [ "<personname> <surname>Lai</surname> <firstname>Charlie</firstname> </personname>" ], "id_hash": 266940764322690034, "content_hash": 266940764322690034, "location": "article.translate.xml:1760", "context": "", "note": "(itstool) path: authorgroup/author", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 237, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/100464/?format=api", "priority": 100, "id": 28358, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=83b45d35f98673f2", "url": "https://translate-dev.freebsd.org/api/units/28358/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.605932Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Sun Microsystems" ], "previous_source": "", "target": [ "Sun Microsystems" ], "id_hash": -1702080646480872196, "content_hash": -1702080646480872196, "location": "article.translate.xml:1767, article.translate.xml:1799, article.translate.xml:1832", "context": "", "note": "(itstool) path: biblioentry/orgname", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 238, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/100465/?format=api", "priority": 100, "id": 28359, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=6860feab8770bcfc", "url": "https://translate-dev.freebsd.org/api/units/28359/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.618814Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "The Open Group" ], "previous_source": "", "target": [ "The Open Group" ], "id_hash": -771543067094116849, "content_hash": -771543067094116849, "location": "article.translate.xml:1774", "context": "", "note": "(itstool) path: biblioentry/orgname", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 240, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100467/?format=api", "priority": 100, "id": 28361, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=754aedab14f0960f", "url": "https://translate-dev.freebsd.org/api/units/28361/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.642141Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "1-85912-144-6" ], "previous_source": "", "target": [ "1-85912-144-6" ], "id_hash": -6035226476389485064, "content_hash": -6035226476389485064, "location": "article.translate.xml:1775", "context": "", "note": "(itstool) path: biblioentry/biblioid", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 241, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100468/?format=api", "priority": 100, "id": 28362, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=2c3e917ee7c5b5f8", "url": "https://translate-dev.freebsd.org/api/units/28362/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.653540Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "June 1997" ], "previous_source": "", "target": [ "June 1997" ], "id_hash": -2200807926481647505, "content_hash": -2200807926481647505, "location": "article.translate.xml:1776", "context": "", "note": "(itstool) path: biblioentry/pubdate", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 242, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/100469/?format=api", "priority": 100, "id": 28363, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=617528d9eb32886f", "url": "https://translate-dev.freebsd.org/api/units/28363/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.667940Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<personname> <surname>Morgan</surname> <firstname>Andrew</firstname> <othername role=\"mi\">G.</othername> </personname>" ], "previous_source": "", "target": [ "<personname> <surname>Morgan</surname> <firstname>Andrew</firstname> <othername role=\"mi\">G.</othername> </personname>" ], "id_hash": -3396926136737306496, "content_hash": -3396926136737306496, "location": "article.translate.xml:1782, article.translate.xml:1821", "context": "", "note": "(itstool) path: biblioentry/author", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 244, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/100471/?format=api", "priority": 100, "id": 28365, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=50dbb1ad23886880", "url": "https://translate-dev.freebsd.org/api/units/28365/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.685578Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "1999-10-06" ], "previous_source": "", "target": [ "1999-10-06" ], "id_hash": -7445324519670829265, "content_hash": -7445324519670829265, "location": "article.translate.xml:1789", "context": "", "note": "(itstool) path: biblioentry/pubdate", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 245, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/100472/?format=api", "priority": 100, "id": 28366, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=18ace4cbdf83af2f", "url": "https://translate-dev.freebsd.org/api/units/28366/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.693572Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "User Manuals" ], "previous_source": "", "target": [ "Manuales de usuario" ], "id_hash": 4241771729356315816, "content_hash": 4241771729356315816, "location": "article.translate.xml:1794", "context": "", "note": "(itstool) path: bibliodiv/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 246, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/100473/?format=api", "priority": 100, "id": 28367, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=baddcce9fa93dca8", "url": "https://translate-dev.freebsd.org/api/units/28367/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.700567Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Related Web Pages" ], "previous_source": "", "target": [ "Páginas web relacionadas" ], "id_hash": 3283997673092097636, "content_hash": 3283997673092097636, "location": "article.translate.xml:1804", "context": "", "note": "(itstool) path: bibliodiv/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 248, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100475/?format=api", "priority": 100, "id": 28369, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=ad931a7bfbdd2664", "url": "https://translate-dev.freebsd.org/api/units/28369/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.722519Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<personname> <surname>Smørgrav</surname> <firstname>Dag-Erling</firstname> </personname>" ], "previous_source": "", "target": [ "<personname> <surname>Smørgrav</surname> <firstname>Dag-Erling</firstname> </personname>" ], "id_hash": -3511221662016440970, "content_hash": -3511221662016440970, "location": "article.translate.xml:1809", "context": "", "note": "(itstool) path: biblioentry/author", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 250, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/100477/?format=api", "priority": 100, "id": 28371, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=4f45a2806bda7576", "url": "https://translate-dev.freebsd.org/api/units/28371/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.741627Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "ThinkSec AS" ], "previous_source": "", "target": [ "ThinkSec AS" ], "id_hash": -4293022074439785323, "content_hash": -4293022074439785323, "location": "article.translate.xml:1815", "context": "", "note": "(itstool) path: biblioentry/orgname", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 251, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/100478/?format=api", "priority": 100, "id": 28372, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=446c1f2b301b2495", "url": "https://translate-dev.freebsd.org/api/units/28372/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.749680Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<link xlink:href=\"http://www.kernel.org/pub/linux/libs/pam/\">Linux-PAM homepage</link>" ], "previous_source": "", "target": [ "<link xlink:href=\"http://www.kernel.org/pub/linux/libs/pam/\">Linux-PAM homepage</link>" ], "id_hash": -5935205548595997152, "content_hash": -5935205548595997152, "location": "article.translate.xml:1819", "context": "", "note": "(itstool) path: biblioentry/citetitle", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 252, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/100479/?format=api", "priority": 100, "id": 28373, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=2da1e9ffe7021620", "url": "https://translate-dev.freebsd.org/api/units/28373/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:13:59.762038Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "$FreeBSD: head/en_US.ISO8859-1/articles/pam/article.xml 54299 2020-06-27 18:15:55Z carlavilla $" ], "previous_source": "", "target": [ "$FreeBSD: head/en_US.ISO8859-1/articles/pam/article.xml 54299 2020-06-27 18:15:55Z carlavilla $" ], "id_hash": -6228314288963874219, "content_hash": -6228314288963874219, "location": "article.translate.xml:94", "context": "", "note": "(itstool) path: info/releaseinfo", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 12, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/200411/?format=api", "priority": 100, "id": 200412, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=2990952738d19255", "url": "https://translate-dev.freebsd.org/api/units/200412/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-07-26T12:32:27.172079Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "Making Login Services Independent of Authentication Technologies" ], "previous_source": "", "target": [ "Hacer que los servicios de acceso sean independientes de las tecnologías de autenticación" ], "id_hash": -690554687706118961, "content_hash": -690554687706118961, "location": "article.translate.xml:1751", "context": "", "note": "(itstool) path: biblioentry/citetitle", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 235, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/200413/?format=api", "priority": 100, "id": 200414, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=766aa82b954bc4cf", "url": "https://translate-dev.freebsd.org/api/units/200414/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-07-26T12:32:27.311949Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<link xlink:href=\"https://pubs.opengroup.org/onlinepubs/8329799/toc.htm\">X/Open Single Sign-on Preliminary Specification</link>" ], "previous_source": "", "target": [ "<link xlink:href=\"https://pubs.opengroup.org/onlinepubs/8329799/toc.htm\">X/Open Single Sign-on Preliminary Specification</link>" ], "id_hash": 511584768952565534, "content_hash": 511584768952565534, "location": "article.translate.xml:1771", "context": "", "note": "(itstool) path: biblioentry/citetitle", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 239, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/200415/?format=api", "priority": 100, "id": 200416, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=871983a309eaff1e", "url": "https://translate-dev.freebsd.org/api/units/200416/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-07-26T12:32:27.355367Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_pam/es/?format=api", "source": [ "<link xlink:href=\"https://mirrors.kernel.org/pub/linux/libs/pam/pre/doc/draft-morgan-pam-07.txt\"> Pluggable Authentication Modules</link>" ], "previous_source": "", "target": [ "<link xlink:href=\"https://mirrors.kernel.org/pub/linux/libs/pam/pre/doc/draft-morgan-pam-07.txt\">Módulos de autentificación conectables</link>" ], "id_hash": -4883146968451136833, "content_hash": -4883146968451136833, "location": "article.translate.xml:1780", "context": "", "note": "(itstool) path: biblioentry/citetitle", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 243, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/200417/?format=api", "priority": 100, "id": 200418, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_pam/es/?checksum=3c3b93b44771c2bf", "url": "https://translate-dev.freebsd.org/api/units/200418/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-07-26T12:32:27.407707Z" } ] }{ "count": 253, "next": "