Changeset 627
- Timestamp:
- 04/21/07 20:14:21 (2 years ago)
- Files:
-
- traduc/branches/bv803/manuel/datetime.sgml (modified) (2 diffs)
- traduc/branches/bv803/manuel/ref/create_function.sgml (modified) (1 diff)
- traduc/branches/bv803/manuel/release.sgml (modified) (3 diffs)
- traduc/branches/bv803/manuel/runtime.sgml (modified) (1 diff)
- traduc/branches/bv803/manuel/version.sgml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
traduc/branches/bv803/manuel/datetime.sgml
r532 r627 2254 2254 <para> 2255 2255 En plus des noms affichés dans la table, <productname>PostgreSQL</productname> 2256 acceptera les nomsdes fuseaux horaires de la forme2256 acceptera les spécifications POSIX des fuseaux horaires de la forme 2257 2257 <replaceable>STD</><replaceable>décalage</> ou 2258 2258 <replaceable>STD</><replaceable>décalage</><replaceable>DST</>, où … … 2264 2264 serait accepté et équivalent fonctionnellement au temps USA East Coast. Quand 2265 2265 un fuseau horaire d'avancement de l'heure est présent, il est supposé être 2266 utilisé suivant les règles du fuseau horaire USA, donc cette fonctionnalité 2267 est d'une utilité limitée en dehors de l'Amérique du Nord. Vous devez aussi 2268 être prévenu que cette provision peut amener silencieusement des entrées 2269 acceptées bien que boguées car il n'y a pas de vérification sur la cohérence 2270 des abréviations de fuseau. Par exemple, <literal>SET TIMEZONE TO FOOBAR0</> 2271 fonctionnera, laissant réellement le système utiliser une abréviation 2272 particulière pour GMT. 2273 </para> 2266 utilisé suivant les règles de transition des changements horaires utilisées 2267 dans l'entrée <filename>posixrules</> de la base de données des fuseaux 2268 horaires de <literal>zic</>. Dans une installation standard de 2269 <productname>PostgreSQL</productname>, <filename>posixrules</> correspond 2270 à <literal>US/Eastern</>, pour que les spécifications POSIX des fuseaux 2271 horaires suivent les règles de changement d'heure des États-Unis. Si 2272 nécessaire, vous pouvez ajuster ce comportement en remplaçant le fichier 2273 <filename>posixrules</>. 2274 </para> 2275 2276 <para> 2277 Faites attention que la fonctionnalité des fuseaux horaires POSIX peut 2278 se mettre à accepter silencieusement des saisies erronées car il n'y a 2279 pas de vérification sur les abréviations de fuseaux horaires. Par 2280 exemple, <literal>SET TIMEZONE TO FOOBAR0</> fonctionnera, donc le système 2281 utilisera réellement une abréviation très particulière pour UTC. 2282 </para> 2274 2283 2275 2284 </sect1> traduc/branches/bv803/manuel/ref/create_function.sgml
r104 r627 420 420 </refsect1> 421 421 422 422 <refsect1 id="sql-createfunction-security"> 423 <title>Écrire des fonctions <literal>SECURITY DEFINER</literal> en toute 424 sécurité</title> 425 426 <para> 427 Comme une fonction <literal>SECURITY DEFINER</literal> est exécutée 428 avec les droits de l'utilisateur qui l'a créé, une certaine attention 429 est nécessaire pour s'assurer que la fonction ne peut pas être 430 utilisée de façon maline. Pour des raisons de sécurité, 431 <xref linkend="guc-search-path"> doit être configuré pour exclure tout 432 schéma où des utilisateurs qui ne sont pas de confiance pourraient 433 écrire. Ceci empêche des utilisateurs malveillants de créer des 434 objets qui masqueraient des objets utilisés par la fonction. Dans 435 cette idée, le schéma des tables temporaires est particulièrement 436 important car il est le premier schéma dans lequel a lieu la recherche 437 et il est modifiable par tout utilisateur. Une solution est de forcer 438 la recherche à ne prendre en condition ce schéma qu'en dernier lieu. 439 Pour cela, écrire <literal>pg_temp</> en tant que dernière entrée de 440 <varname>search_path</>. La fonction suivante illustre une utilisation 441 sûre : 442 </para> 443 444 <programlisting> 445 CREATE FUNCTION verifie_motdepasse(unom TEXT, motpasse TEXT) 446 RETURNS BOOLEAN AS $$ 447 DECLARE ok BOOLEAN; 448 ancien_path TEXT; 449 BEGIN 450 -- Sauvegarder l'ancien search_path ; 451 -- remarquez que nous devons qualifier current_setting 452 -- pour nous assurer que nous appelons la bonne fonction 453 ancien_path := pg_catalog.current_setting('search_path'); 454 455 -- Configurer un search_path sécurisé : schémas de confiance, puis 'pg_temp'. 456 -- Nous initialisons is_local = true pour que l'ancienne valeur 457 -- soit restaurée au cas où une erreur survienne avant que nous 458 -- n'atteignons la fin de la fonction. 459 PERFORM pg_catalog.set_config('search_path', 'admin, pg_temp', true); 460 461 -- Effectuer le travail sécurisé de la fonction. 462 SELECT (motdepasse = $2) INTO ok 463 FROM motsdepasse 464 WHERE nomutilisateur = $1; 465 466 -- Restaurer le search_path de l'appelant 467 PERFORM pg_catalog.set_config('search_path', ancien_path, true); 468 469 RETURN ok; 470 END; 471 $$ LANGUAGE plpgsql SECURITY DEFINER; 472 </programlisting> 473 474 </refsect1> 475 423 476 <refsect1 id="sql-createfunction-compat"> 424 477 <title>Compatibilité</title> traduc/branches/bv803/manuel/release.sgml
r574 r627 5 5 <appendix id="release"> 6 6 <title>Notes de version</title> 7 8 <sect1 id="release-8-0-13"> 9 <title>Version 8.0.13</title> 10 11 <note> 12 <title>Date de sortie</title> 13 <simpara>2007-04-23</simpara> 14 </note> 15 16 <para> 17 Cette version contient quelques corrections de la 8.0.12, dont la 18 correction d'une faille de sécurité. 19 </para> 20 21 <sect2> 22 <title>Migration vers la version 8.0.13</title> 23 24 <para> 25 Une sauvegarde/restauration n'est pas requise pour ceux utilisant une 26 version 8.0.X. Néanmoins, si vous mettez à jour à partir d'une version 27 antérieure à la 8.0.6, voir les notes de sortie de la 8.0.6. 28 </para> 29 30 </sect2> 31 32 <sect2> 33 <title>Modifications</title> 34 35 <itemizedlist> 36 37 <listitem> 38 <para> 39 Supporte le placement explicite du schéma des tables temporaires dans 40 <varname>search_path</>, et désactive sa recherche pour les fonctions 41 et opérateurs (Tom) 42 </para> 43 <para> 44 Ceci est nécessaire pour autoriser une fonction en mode security-definer 45 à configurer une valeur sécurisée de <varname>search_path</>. Sans cela, 46 un utilisateur SQL sans droit peut utiliser des objets temporaires pour 47 exécuter du code avec une fonction possédant les droits du créateur de 48 la fonction (CVE-2007-2138). Voir <command>CREATE FUNCTION</> pour plus 49 d'informations. 50 </para> 51 </listitem> 52 53 <listitem> 54 <para> 55 Correction d'arrêts brutaux dans <filename>/contrib/tsearch2</> (Teodor) 56 </para> 57 </listitem> 58 59 <listitem> 60 <para> 61 Correction d'un bogue pouvant corrompre des données dans la façon 62 dont <command>VACUUM FULL</> gère les chaînes <command>UPDATE</> 63 (Tom, Pavan Deolasee) 64 </para> 65 </listitem> 66 67 <listitem> 68 <para> 69 Correction d'un PANIC lors de l'élargissement d'un index haché 70 (bug introduit en 7.4.15) (Tom) 71 </para> 72 </listitem> 73 74 <listitem> 75 <para> 76 Correction des spécifications des fuseaux horaires POSIX 77 pour suivre les nouvelles règles USA DST (Tom) 78 </para> 79 </listitem> 80 81 </itemizedlist> 82 83 </sect2> 84 </sect1> 7 85 8 86 <sect1 id="release-8-0-12"> … … 3500 3578 </sect1> 3501 3579 3580 <sect1 id="release-7-4-17"> 3581 <title>Version 7.4.17</title> 3582 3583 <note> 3584 <title>Date de sortie</title> 3585 <simpara>2007-04-23</simpara> 3586 </note> 3587 3588 <para> 3589 Cette version contient quelques corrections de la 7.4.16, dont la 3590 correction d'une faille de sécurité. 3591 </para> 3592 3593 <sect2> 3594 <title>Migration vers la version 7.4.17</title> 3595 3596 <para> 3597 Une sauvegarde/restauration n'est pas requise pour ceux utilisant une 3598 version 7.4.X. Néanmoins, si vous mettez à jour à partir d'une version 3599 antérieure à la 7.4.11, voir les notes de sortie de la 7.4.11. 3600 </para> 3601 3602 </sect2> 3603 3604 <sect2> 3605 <title>Modifications</title> 3606 3607 <itemizedlist> 3608 3609 <listitem> 3610 <para> 3611 Supporte le placement explicite du schéma des tables temporaires dans 3612 <varname>search_path</>, et désactive sa recherche pour les fonctions 3613 et opérateurs (Tom) 3614 </para> 3615 <para> 3616 Ceci est nécessaire pour autoriser une fonction en mode security-definer 3617 à configurer une valeur sécurisée de <varname>search_path</>. Sans cela, 3618 un utilisateur SQL sans droit peut utiliser des objets temporaires pour 3619 exécuter du code avec une fonction possédant les droits du créateur de 3620 la fonction (CVE-2007-2138). Voir <command>CREATE FUNCTION</> pour plus 3621 d'informations. 3622 </para> 3623 </listitem> 3624 3625 <listitem> 3626 <para> 3627 Correction d'arrêts brutaux dans <filename>/contrib/tsearch2</> (Teodor) 3628 </para> 3629 </listitem> 3630 3631 <listitem> 3632 <para> 3633 Correction d'un bogue pouvant corrompre des données dans la façon 3634 dont <command>VACUUM FULL</> gère les chaînes <command>UPDATE</> 3635 (Tom, Pavan Deolasee) 3636 </para> 3637 </listitem> 3638 3639 <listitem> 3640 <para> 3641 Correction d'un PANIC lors de l'élargissement d'un index haché 3642 (bug introduit en 7.4.15) (Tom) 3643 </para> 3644 </listitem> 3645 3646 </itemizedlist> 3647 3648 </sect2> 3649 </sect1> 3650 3502 3651 <sect1 id="release-7-4-16"> 3503 3652 <title>Version 7.4.16</title> … … 6938 7087 </sect2> 6939 7088 </sect1> 7089 7090 <sect1 id="release-7-3-19"> 7091 <title>Version 7.3.19</title> 7092 7093 <note> 7094 <title>Date de sortie</title> 7095 <simpara>2007-04-23</simpara> 7096 </note> 7097 7098 <para> 7099 Cette version contient quelques corrections de la 7.3.18, dont la 7100 correction d'une faille de sécurité. 7101 </para> 7102 7103 <sect2> 7104 <title>Migration vers la version 7.3.19</title> 7105 7106 <para> 7107 Une sauvegarde/restauration n'est pas requise pour ceux utilisant une 7108 version 7.3.X. Néanmoins, si vous mettez à jour à partir d'une version 7109 antérieure à la 7.3.13, voir les notes de sortie de la 7.3.13. 7110 </para> 7111 7112 </sect2> 7113 7114 <sect2> 7115 <title>Modifications</title> 7116 7117 <itemizedlist> 7118 7119 <listitem> 7120 <para> 7121 Supporte le placement explicite du schéma des tables temporaires dans 7122 <varname>search_path</>, et désactive sa recherche pour les fonctions 7123 et opérateurs (Tom) 7124 </para> 7125 <para> 7126 Ceci est nécessaire pour autoriser une fonction en mode security-definer 7127 à configurer une valeur sécurisée de <varname>search_path</>. Sans cela, 7128 un utilisateur SQL sans droit peut utiliser des objets temporaires pour 7129 exécuter du code avec une fonction possédant les droits du créateur de 7130 la fonction (CVE-2007-2138). Voir <command>CREATE FUNCTION</> pour plus 7131 d'informations. 7132 </para> 7133 </listitem> 7134 7135 <listitem> 7136 <para> 7137 Correction d'un bogue pouvant corrompre des données dans la façon 7138 dont <command>VACUUM FULL</> gère les chaînes <command>UPDATE</> 7139 (Tom, Pavan Deolasee) 7140 </para> 7141 </listitem> 7142 7143 </itemizedlist> 7144 7145 </sect2> 7146 </sect1> 6940 7147 6941 7148 <sect1 id="release-7-3-18"> traduc/branches/bv803/manuel/runtime.sgml
r571 r627 3106 3106 mentionné, alors il sera cherché dans l'ordre spécifié. Si 3107 3107 <literal>pg_catalog</> ne fait pas partie du chemin, alors il sera 3108 cherché <emphasis>avant</> tout élément du chemin. Il devrait aussi être 3109 noté que le schéma des tables temporaires, 3110 <literal>pg_temp_<replaceable>nnn</></>, est cherché implicitement avant 3111 tout autre. 3108 cherché <emphasis>avant</> tout élément du chemin. 3109 </para> 3110 3111 <para> 3112 De même, la recherche des schémas passe toujours par le schéma des 3113 tables temporaires, <literal>pg_temp_<replaceable>nnn</></>, si ce 3114 dernier existe. Il est toujours possible de l'ajouter dans le chemin 3115 en utilisant l'alias <literal>pg_temp</>. S'il ne fait pas partie 3116 du chemin, la recherche commencera par lui (avant même 3117 <literal>pg_catalog</>). Néanmoins, seuls les noms de relation (table, 3118 vue, séquence, etc.) et de type de données sont recherchés dans le 3119 schéma temporaire. Aucune fonction et aucun opérateur n'y sera 3120 recherché. 3112 3121 </para> 3113 3122 traduc/branches/bv803/manuel/version.sgml
r574 r627 1 <!entity version "8.0.1 2">1 <!entity version "8.0.13"> 2 2 <!entity majorversion "8.0">

