# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # Danilo G. Baio , 2021. # Edson Brandi , 2023. # "Danilo G. Baio" , 2023. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2023-05-21 14:43-0300\n" "PO-Revision-Date: 2023-05-29 22:23+0000\n" "Last-Translator: Edson Brandi \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.17\n" #. type: Title = #: documentation/content/en/articles/ipsec-must/_index.adoc:1 #: documentation/content/en/articles/ipsec-must/_index.adoc:11 #, no-wrap msgid "Independent Verification of IPsec Functionality in FreeBSD" msgstr "Verificação Independente da Funcionalidade IPsec no FreeBSD" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:44 msgid "Abstract" msgstr "Resumo" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:47 msgid "" "You installed IPsec and it seems to be working. How do you know? I describe " "a method for experimentally verifying that IPsec is working." msgstr "" "Você instalou o IPsec e ele parece estar funcionando. Como você sabe? Eu " "descrevo um método para verificar experimentalmente se o IPsec está " "funcionando." #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:49 msgid "'''" msgstr "'''" #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:53 #, no-wrap msgid "The Problem" msgstr "O problema" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:58 msgid "" "First, lets assume you have <>. How do you know it is " "<>? Sure, your connection will not work if it is misconfigured, and " "it will work when you finally get it right. man:netstat[1] will list it. " "But can you independently confirm it?" msgstr "" "Primeiramente, vamos supor que você tenha o instalado o IPsec (<>). Como você sabe se há algum problema (<>)? É verdade que " "sua conexão não funcionará se estiver mal configurada, e funcionará quando " "você finalmente acertar. O comando man:netstat[1] listará isso. Mas você " "pode confirmar isso de forma independente?" #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:60 #, no-wrap msgid "The Solution" msgstr "A solução" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:63 msgid "First, some crypto-relevant info theory:" msgstr "" "Em primeiro lugar, vejamos alguma informação teórica relevante em relação à " "criptografia:" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:65 msgid "" "Encrypted data is uniformly distributed, i.e., has maximal entropy per " "symbol;" msgstr "" "Dados criptografados são uniformemente distribuídos, ou seja, possuem " "entropia máxima por símbolo;" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:66 msgid "" "Raw, uncompressed data is typically redundant, i.e., has sub-maximal entropy." msgstr "" "Os dados brutos, não comprimidos são tipicamente redundantes, isto é, " "possuem entropia submáxima." #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:70 msgid "" "Suppose you could measure the entropy of the data to- and from- your network " "interface. Then you could see the difference between unencrypted data and " "encrypted data. This would be true even if some of the data in \"encrypted " "mode\" was not encrypted---as the outermost IP header must be if the packet " "is to be routable." msgstr "" "Suponha que você pudesse medir a entropia dos dados que entram e saem de sua " "interface de rede. Então, você poderia ver a diferença entre dados não " "criptografados e dados criptografados. Isso seria verdade mesmo que alguns " "dos dados no \"modo criptografado\" não estivessem criptografados - como o " "cabeçalho IP mais externo deve estar se o pacote for roteável." #. type: Title === #: documentation/content/en/articles/ipsec-must/_index.adoc:72 #, no-wrap msgid "MUST" msgstr "MUST" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:77 msgid "" "Ueli Maurer's \"Universal Statistical Test for Random Bit Generators" "\"(https://web.archive.org/web/20011115002319/http://www.geocities.com/" "SiliconValley/Code/4704/universal.pdf[MUST]) quickly measures the entropy of " "a sample. It uses a compression-like algorithm. <> for a variant " "which measures successive (~quarter megabyte) chunks of a file." msgstr "" "O \"Universal Statistical Test for Random Bit Generators\" de Ueli Maurer " "(https://web.archive.org/web/20011115002319/http://www.geocities.com/" "SiliconValley/Code/4704/universal.pdf[MUST]) mede rapidamente a entropia de " "uma amostra. Ele usa um algoritmo semelhante ao de compressão. O <> " "de uma variante que mede blocos sucessivos (de cerca de um quarto de " "megabyte) de um arquivo." #. type: Title === #: documentation/content/en/articles/ipsec-must/_index.adoc:79 #, no-wrap msgid "Tcpdump" msgstr "Tcpdump" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:83 msgid "" "We also need a way to capture the raw network data. A program called man:" "tcpdump[1] lets you do this, if you have enabled the _Berkeley Packet " "Filter_ interface in your <>." msgstr "" "Também precisamos de uma maneira de capturar os dados brutos da rede. Um " "programa chamado man:tcpdump[1] permite que você faça isso, se você " "habilitou a interface do _Berkeley Packet Filter_ no seu <>." #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:85 msgid "The command:" msgstr "O comando:" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:89 #, no-wrap msgid " tcpdump -c 4000 -s 10000 -w dumpfile.bin\n" msgstr " tcpdump -c 4000 -s 10000 -w dumpfile.bin\n" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:93 msgid "" "will capture 4000 raw packets to _dumpfile.bin_. Up to 10,000 bytes per " "packet will be captured in this example." msgstr "" "serão capturados 4000 pacotes brutos e salvos em _dumpfile.bin_. Neste " "exemplo, serão capturados até 10.000 bytes por pacote." #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:95 #, no-wrap msgid "The Experiment" msgstr "O Experimento" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:98 msgid "Here is the experiment:" msgstr "Aqui está o experimento:" #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:102 msgid "Open a window to an IPsec host and another window to an insecure host." msgstr "" "Abra uma janela para um host IPsec e outra janela para um host inseguro." #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:103 msgid "Now start <>." msgstr "Agora, inicie o <>." #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:104 msgid "" "In the \"secure\" window, run the UNIX(R) command man:yes[1], which will " "stream the `y` character. After a while, stop this. Switch to the insecure " "window, and repeat. After a while, stop." msgstr "" "Na janela \"segura\", execute o comando UNIX(R) man:yes[1], que transmitirá " "o caractere `y`. Após um tempo, pare este comando. Mude para a janela " "\"insegura\" e repita o processo. Após um tempo, pare também esse comando." #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:105 msgid "" "Now run <> on the captured packets. You should see something like the " "following. The important thing to note is that the secure connection has 93% " "(6.7) of the expected value (7.18), and the \"normal\" connection has 29% " "(2.1) of the expected value." msgstr "" "Agora execute o <> nos pacotes capturados. Você deverá ver algo como o " "seguinte. O importante a ser observado é que a conexão segura tem 93% (6,7) " "do valor esperado (7,18), enquanto a conexão \"normal\" tem 29% (2,1) do " "valor esperado." #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:121 #, no-wrap msgid "" "% tcpdump -c 4000 -s 10000 -w ipsecdemo.bin\n" "% uliscan ipsecdemo.bin\n" "Uliscan 21 Dec 98\n" "L=8 256 258560\n" "Measuring file ipsecdemo.bin\n" "Init done\n" "Expected value for L=8 is 7.1836656\n" "6.9396 --------------------------------------------------------\n" "6.6177 -----------------------------------------------------\n" "6.4100 ---------------------------------------------------\n" "2.1101 -----------------\n" "2.0838 -----------------\n" "2.0983 -----------------\n" msgstr "" "% tcpdump -c 4000 -s 10000 -w ipsecdemo.bin\n" "% uliscan ipsecdemo.bin\n" "Uliscan 21 Dec 98\n" "L=8 256 258560\n" "Measuring file ipsecdemo.bin\n" "Init done\n" "Expected value for L=8 is 7.1836656\n" "6.9396 --------------------------------------------------------\n" "6.6177 -----------------------------------------------------\n" "6.4100 ---------------------------------------------------\n" "2.1101 -----------------\n" "2.0838 -----------------\n" "2.0983 -----------------\n" #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:125 #, no-wrap msgid "Caveat" msgstr "Embargo" #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:131 msgid "" "This experiment shows that IPsec _does_ seem to be distributing the payload " "data __uniformly__, as encryption should. However, the experiment described " "here _cannot_ detect many possible flaws in a system (none of which do I " "have any evidence for). These include poor key generation or exchange, data " "or keys being visible to others, use of weak algorithms, kernel subversion, " "etc. Study the source; know the code." msgstr "" "Este experimento mostra que o IPsec parece estar distribuindo os dados do " "payload __uniformly__, como a criptografia deveria fazer. No entanto, o " "experimento descrito aqui não pode detectar muitas possíveis falhas em um " "sistema (das quais não tenho nenhuma evidência). Estes incluem geração ou " "troca de chave fraca, dados ou chaves visíveis para outros, uso de " "algoritmos fracos, subversão do kernel, etc. Estude o código-fonte; conheça " "o código." #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:133 #, no-wrap msgid "IPsec---Definition" msgstr "IPsec --- Definição" #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:139 msgid "" "Internet Protocol security extensions to IPv4; required for IPv6. A " "protocol for negotiating encryption and authentication at the IP (host-to-" "host) level. SSL secures only one application socket; SSH secures only a " "login; PGP secures only a specified file or message. IPsec encrypts " "everything between two hosts." msgstr "" "As extensões de segurança do Protocolo de Internet para o IPv4; obrigatório " "para o IPv6. Um protocolo para negociar criptografia e autenticação no nível " "IP (host-to-host). O SSL protege apenas um socket de aplicativo; O SSH " "protege apenas um login; O PGP protege apenas um arquivo ou mensagem " "especificada. O IPsec criptografa tudo entre dois hosts." #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:141 #, no-wrap msgid "Installing IPsec" msgstr "Instalando o IPsec" #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:145 msgid "" "Most of the modern versions of FreeBSD have IPsec support in their base " "source. So you will need to include the `IPSEC` option in your kernel " "config and, after kernel rebuild and reinstall, configure IPsec connections " "using man:setkey[8] command." msgstr "" "A maioria das versões modernas do FreeBSD possui suporte IPsec em seu código " "base. Portanto, você precisará incluir a opção `IPSEC` na configuração do " "seu kernel e, após recompilar e reinstalar o kernel, configurar as conexões " "IPsec usando o comando man:setkey[8]." #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:147 msgid "" "A comprehensive guide on running IPsec on FreeBSD is provided in extref:" "{handbook}[FreeBSD Handbook, ipsec]." msgstr "" "Um guia abrangente sobre como executar o IPsec no FreeBSD está disponível no " "extref:{handbook}[Handbook do FreeBSD, ipsec]." #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:149 #, no-wrap msgid "src/sys/i386/conf/KERNELNAME" msgstr "src/sys/i386/conf/KERNELNAME" #. type: delimited block = 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:153 msgid "" "This needs to be present in the kernel config file to capture network data " "with man:tcpdump[1]. Be sure to run man:config[8] after adding this, and " "rebuild and reinstall." msgstr "" "Isso precisa estar presente no arquivo de configuração do kernel para " "capturar dados de rede com o comando man:tcpdump[1]. Certifique-se de " "executar man:config[8] após adicionar isso e reconstruir e reinstalar o " "kernel." #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:157 #, no-wrap msgid "device\tbpf\n" msgstr "device\tbpf\n" #. type: Title == #: documentation/content/en/articles/ipsec-must/_index.adoc:160 #, no-wrap msgid "Maurer's Universal Statistical Test (for block size=8 bits)" msgstr "Teste estatístico universal de Maurer (para tamanho de bloco = 8 bits)" #. type: Plain text #: documentation/content/en/articles/ipsec-must/_index.adoc:163 msgid "" "You can find the same code at https://web.archive.org/web/20031204230654/" "http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt[this link]." msgstr "" "Você pode encontrar o mesmo código https://web.archive.org/" "web/20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/" "uliscanc.txt[neste link]." #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:168 #, no-wrap msgid "" "/*\n" " ULISCAN.c ---blocksize of 8\n" msgstr "" "/*\n" " ULISCAN.c ---blocksize of 8\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:172 #, no-wrap msgid "" " 1 Oct 98\n" " 1 Dec 98\n" " 21 Dec 98 uliscan.c derived from ueli8.c\n" msgstr "" " 1 Oct 98\n" " 1 Dec 98\n" " 21 Dec 98 uliscan.c derived from ueli8.c\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:174 #, no-wrap msgid " This version has // comments removed for Sun cc\n" msgstr " This version has // comments removed for Sun cc\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:177 #, no-wrap msgid "" " This implements Ueli M Maurer's \"Universal Statistical Test for Random\n" " Bit Generators\" using L=8\n" msgstr "" " This implements Ueli M Maurer's \"Universal Statistical Test for Random\n" " Bit Generators\" using L=8\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:180 #, no-wrap msgid "" " Accepts a filename on the command line; writes its results, with other\n" " info, to stdout.\n" msgstr "" " Accepts a filename on the command line; writes its results, with other\n" " info, to stdout.\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:182 #, no-wrap msgid " Handles input file exhaustion gracefully.\n" msgstr " Handles input file exhaustion gracefully.\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:185 #, no-wrap msgid "" " Ref: J. Cryptology v 5 no 2, 1992 pp 89-105\n" " also on the web somewhere, which is where I found it.\n" msgstr "" " Ref: J. Cryptology v 5 no 2, 1992 pp 89-105\n" " also on the web somewhere, which is where I found it.\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:188 #, no-wrap msgid "" " -David Honig\n" " honig@sprynet.com\n" msgstr "" " -David Honig\n" " honig@sprynet.com\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:193 #, no-wrap msgid "" " Usage:\n" " ULISCAN filename\n" " outputs to stdout\n" "*/\n" msgstr "" " Usage:\n" " ULISCAN filename\n" " outputs to stdout\n" "*/\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:199 #, no-wrap msgid "" "#define L 8\n" "#define V (1<\n" "#include \n" msgstr "" "#include \n" "#include \n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:214 #, no-wrap msgid "" "int main(argc, argv)\n" "int argc;\n" "char **argv;\n" "{\n" " FILE *fptr;\n" " int i,j;\n" " int b, c;\n" " int table[V];\n" " double sum = 0.0;\n" " int iproduct = 1;\n" " int run;\n" msgstr "" "int main(argc, argv)\n" "int argc;\n" "char **argv;\n" "{\n" " FILE *fptr;\n" " int i,j;\n" " int b, c;\n" " int table[V];\n" " double sum = 0.0;\n" " int iproduct = 1;\n" " int run;\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:216 #, no-wrap msgid " extern double log(/* double x */);\n" msgstr " extern double log(/* double x */);\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:218 #, no-wrap msgid " printf(\"Uliscan 21 Dec 98 \\nL=%d %d %d \\n\", L, V, MAXSAMP);\n" msgstr " printf(\"Uliscan 21 Dec 98 \\nL=%d %d %d \\n\", L, V, MAXSAMP);\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:225 #, no-wrap msgid "" " if (argc < 2) {\n" " printf(\"Usage: Uliscan filename\\n\");\n" " exit(-1);\n" " } else {\n" " printf(\"Measuring file %s\\n\", argv[1]);\n" " }\n" msgstr "" " if (argc < 2) {\n" " printf(\"Usage: Uliscan filename\\n\");\n" " exit(-1);\n" " } else {\n" " printf(\"Measuring file %s\\n\", argv[1]);\n" " }\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:227 #, no-wrap msgid " fptr = fopen(argv[1],\"rb\");\n" msgstr " fptr = fopen(argv[1],\"rb\");\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:232 #, no-wrap msgid "" " if (fptr == NULL) {\n" " printf(\"Can't find %s\\n\", argv[1]);\n" " exit(-1);\n" " }\n" msgstr "" " if (fptr == NULL) {\n" " printf(\"Can't find %s\\n\", argv[1]);\n" " exit(-1);\n" " }\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:236 #, no-wrap msgid "" " for (i = 0; i < V; i++) {\n" " table[i] = 0;\n" " }\n" msgstr "" " for (i = 0; i < V; i++) {\n" " table[i] = 0;\n" " }\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:241 #, no-wrap msgid "" " for (i = 0; i < Q; i++) {\n" " b = fgetc(fptr);\n" " table[b] = i;\n" " }\n" msgstr "" " for (i = 0; i < Q; i++) {\n" " b = fgetc(fptr);\n" " table[b] = i;\n" " }\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:243 #, no-wrap msgid " printf(\"Init done\\n\");\n" msgstr " printf(\"Init done\\n\");\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:245 #, no-wrap msgid " printf(\"Expected value for L=8 is 7.1836656\\n\");\n" msgstr " printf(\"Expected value for L=8 is 7.1836656\\n\");\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:247 #, no-wrap msgid " run = 1;\n" msgstr " run = 1;\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:251 #, no-wrap msgid "" " while (run) {\n" " sum = 0.0;\n" " iproduct = 1;\n" msgstr "" " while (run) {\n" " sum = 0.0;\n" " iproduct = 1;\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:256 #, no-wrap msgid "" " if (run)\n" " for (i = Q; run && i < Q + K; i++) {\n" " j = i;\n" " b = fgetc(fptr);\n" msgstr "" " if (run)\n" " for (i = Q; run && i < Q + K; i++) {\n" " j = i;\n" " b = fgetc(fptr);\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:259 #, no-wrap msgid "" " if (b < 0)\n" " run = 0;\n" msgstr "" " if (b < 0)\n" " run = 0;\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:263 #, no-wrap msgid "" " if (run) {\n" " if (table[b] > j)\n" " j += K;\n" msgstr "" " if (run) {\n" " if (table[b] > j)\n" " j += K;\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:265 #, no-wrap msgid " sum += log((double)(j-table[b]));\n" msgstr " sum += log((double)(j-table[b]));\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:269 #, no-wrap msgid "" " table[b] = i;\n" " }\n" " }\n" msgstr "" " table[b] = i;\n" " }\n" " }\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:272 #, no-wrap msgid "" " if (!run)\n" " printf(\"Premature end of file; read %d blocks.\\n\", i - Q);\n" msgstr "" " if (!run)\n" " printf(\"Premature end of file; read %d blocks.\\n\", i - Q);\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:275 #, no-wrap msgid "" " sum = (sum/((double)(i - Q))) / log(2.0);\n" " printf(\"%4.4f \", sum);\n" msgstr "" " sum = (sum/((double)(i - Q))) / log(2.0);\n" " printf(\"%4.4f \", sum);\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:278 #, no-wrap msgid "" " for (i = 0; i < (int)(sum*8.0 + 0.50); i++)\n" " printf(\"-\");\n" msgstr "" " for (i = 0; i < (int)(sum*8.0 + 0.50); i++)\n" " printf(\"-\");\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:280 #, no-wrap msgid " printf(\"\\n\");\n" msgstr " printf(\"\\n\");\n" #. type: delimited block . 4 #: documentation/content/en/articles/ipsec-must/_index.adoc:294 #, no-wrap msgid "" " /* refill initial table */\n" " if (0) {\n" " for (i = 0; i < Q; i++) {\n" " b = fgetc(fptr);\n" " if (b < 0) {\n" " run = 0;\n" " } else {\n" " table[b] = i;\n" " }\n" " }\n" " }\n" " }\n" "}\n" msgstr "" " /* refill initial table */\n" " if (0) {\n" " for (i = 0; i < Q; i++) {\n" " b = fgetc(fptr);\n" " if (b < 0) {\n" " run = 0;\n" " } else {\n" " table[b] = i;\n" " }\n" " }\n" " }\n" " }\n" "}\n" #~ msgid "" #~ "include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/" #~ "{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists." #~ "adoc[] include::shared/{{% lang %}}/urls.adoc[]" #~ msgstr "" #~ "include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/" #~ "{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists." #~ "adoc[] include::shared/{{% lang %}}/urls.adoc[]"