Fossil SCM
merge trunk
Commit
8df9d37834241ea0fd808036e151a8cd6d985909
Parent
38159dae326625d…
3 files changed
+7
-3
+2
-5
+2
-5
+7
-3
| --- src/doc.c | ||
| +++ src/doc.c | ||
| @@ -122,11 +122,13 @@ | ||
| 122 | 122 | { "deb", 3, "application/x-debian-package" }, |
| 123 | 123 | { "dir", 3, "application/x-director" }, |
| 124 | 124 | { "dl", 2, "video/dl" }, |
| 125 | 125 | { "dms", 3, "application/octet-stream" }, |
| 126 | 126 | { "doc", 3, "application/msword" }, |
| 127 | - { "docx", 4, "application/msword" }, | |
| 127 | + { "docx", 4, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"}, | |
| 128 | + { "dot", 3, "application/msword" }, | |
| 129 | + { "dotx", 4, "application/vnd.openxmlformats-officedocument.wordprocessingml.template"}, | |
| 128 | 130 | { "drw", 3, "application/drafting" }, |
| 129 | 131 | { "dvi", 3, "application/x-dvi" }, |
| 130 | 132 | { "dwg", 3, "application/acad" }, |
| 131 | 133 | { "dxf", 3, "application/dxf" }, |
| 132 | 134 | { "dxr", 3, "application/x-director" }, |
| @@ -199,14 +201,16 @@ | ||
| 199 | 201 | { "pl", 2, "application/x-perl" }, |
| 200 | 202 | { "pm", 2, "application/x-perl" }, |
| 201 | 203 | { "png", 3, "image/png" }, |
| 202 | 204 | { "pnm", 3, "image/x-portable-anymap" }, |
| 203 | 205 | { "pot", 3, "application/mspowerpoint" }, |
| 206 | + { "potx", 4, "application/vnd.openxmlformats-officedocument.presentationml.template"}, | |
| 204 | 207 | { "ppm", 3, "image/x-portable-pixmap" }, |
| 205 | 208 | { "pps", 3, "application/mspowerpoint" }, |
| 209 | + { "ppsx", 4, "application/vnd.openxmlformats-officedocument.presentationml.slideshow"}, | |
| 206 | 210 | { "ppt", 3, "application/mspowerpoint" }, |
| 207 | - { "pptx", 4, "application/mspowerpoint" }, | |
| 211 | + { "pptx", 4, "application/vnd.openxmlformats-officedocument.presentationml.presentation"}, | |
| 208 | 212 | { "ppz", 3, "application/mspowerpoint" }, |
| 209 | 213 | { "pre", 3, "application/x-freelance" }, |
| 210 | 214 | { "prt", 3, "application/pro_eng" }, |
| 211 | 215 | { "ps", 2, "application/postscript" }, |
| 212 | 216 | { "qt", 2, "video/quicktime" }, |
| @@ -277,11 +281,11 @@ | ||
| 277 | 281 | { "xbm", 3, "image/x-xbitmap" }, |
| 278 | 282 | { "xlc", 3, "application/vnd.ms-excel" }, |
| 279 | 283 | { "xll", 3, "application/vnd.ms-excel" }, |
| 280 | 284 | { "xlm", 3, "application/vnd.ms-excel" }, |
| 281 | 285 | { "xls", 3, "application/vnd.ms-excel" }, |
| 282 | - { "xlsx", 4, "application/vnd.ms-excel" }, | |
| 286 | + { "xlsx", 4, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, | |
| 283 | 287 | { "xlw", 3, "application/vnd.ms-excel" }, |
| 284 | 288 | { "xml", 3, "text/xml" }, |
| 285 | 289 | { "xpm", 3, "image/x-xpixmap" }, |
| 286 | 290 | { "xwd", 3, "image/x-xwindowdump" }, |
| 287 | 291 | { "xyz", 3, "chemical/x-pdb" }, |
| 288 | 292 |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -122,11 +122,13 @@ | |
| 122 | { "deb", 3, "application/x-debian-package" }, |
| 123 | { "dir", 3, "application/x-director" }, |
| 124 | { "dl", 2, "video/dl" }, |
| 125 | { "dms", 3, "application/octet-stream" }, |
| 126 | { "doc", 3, "application/msword" }, |
| 127 | { "docx", 4, "application/msword" }, |
| 128 | { "drw", 3, "application/drafting" }, |
| 129 | { "dvi", 3, "application/x-dvi" }, |
| 130 | { "dwg", 3, "application/acad" }, |
| 131 | { "dxf", 3, "application/dxf" }, |
| 132 | { "dxr", 3, "application/x-director" }, |
| @@ -199,14 +201,16 @@ | |
| 199 | { "pl", 2, "application/x-perl" }, |
| 200 | { "pm", 2, "application/x-perl" }, |
| 201 | { "png", 3, "image/png" }, |
| 202 | { "pnm", 3, "image/x-portable-anymap" }, |
| 203 | { "pot", 3, "application/mspowerpoint" }, |
| 204 | { "ppm", 3, "image/x-portable-pixmap" }, |
| 205 | { "pps", 3, "application/mspowerpoint" }, |
| 206 | { "ppt", 3, "application/mspowerpoint" }, |
| 207 | { "pptx", 4, "application/mspowerpoint" }, |
| 208 | { "ppz", 3, "application/mspowerpoint" }, |
| 209 | { "pre", 3, "application/x-freelance" }, |
| 210 | { "prt", 3, "application/pro_eng" }, |
| 211 | { "ps", 2, "application/postscript" }, |
| 212 | { "qt", 2, "video/quicktime" }, |
| @@ -277,11 +281,11 @@ | |
| 277 | { "xbm", 3, "image/x-xbitmap" }, |
| 278 | { "xlc", 3, "application/vnd.ms-excel" }, |
| 279 | { "xll", 3, "application/vnd.ms-excel" }, |
| 280 | { "xlm", 3, "application/vnd.ms-excel" }, |
| 281 | { "xls", 3, "application/vnd.ms-excel" }, |
| 282 | { "xlsx", 4, "application/vnd.ms-excel" }, |
| 283 | { "xlw", 3, "application/vnd.ms-excel" }, |
| 284 | { "xml", 3, "text/xml" }, |
| 285 | { "xpm", 3, "image/x-xpixmap" }, |
| 286 | { "xwd", 3, "image/x-xwindowdump" }, |
| 287 | { "xyz", 3, "chemical/x-pdb" }, |
| 288 |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -122,11 +122,13 @@ | |
| 122 | { "deb", 3, "application/x-debian-package" }, |
| 123 | { "dir", 3, "application/x-director" }, |
| 124 | { "dl", 2, "video/dl" }, |
| 125 | { "dms", 3, "application/octet-stream" }, |
| 126 | { "doc", 3, "application/msword" }, |
| 127 | { "docx", 4, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"}, |
| 128 | { "dot", 3, "application/msword" }, |
| 129 | { "dotx", 4, "application/vnd.openxmlformats-officedocument.wordprocessingml.template"}, |
| 130 | { "drw", 3, "application/drafting" }, |
| 131 | { "dvi", 3, "application/x-dvi" }, |
| 132 | { "dwg", 3, "application/acad" }, |
| 133 | { "dxf", 3, "application/dxf" }, |
| 134 | { "dxr", 3, "application/x-director" }, |
| @@ -199,14 +201,16 @@ | |
| 201 | { "pl", 2, "application/x-perl" }, |
| 202 | { "pm", 2, "application/x-perl" }, |
| 203 | { "png", 3, "image/png" }, |
| 204 | { "pnm", 3, "image/x-portable-anymap" }, |
| 205 | { "pot", 3, "application/mspowerpoint" }, |
| 206 | { "potx", 4, "application/vnd.openxmlformats-officedocument.presentationml.template"}, |
| 207 | { "ppm", 3, "image/x-portable-pixmap" }, |
| 208 | { "pps", 3, "application/mspowerpoint" }, |
| 209 | { "ppsx", 4, "application/vnd.openxmlformats-officedocument.presentationml.slideshow"}, |
| 210 | { "ppt", 3, "application/mspowerpoint" }, |
| 211 | { "pptx", 4, "application/vnd.openxmlformats-officedocument.presentationml.presentation"}, |
| 212 | { "ppz", 3, "application/mspowerpoint" }, |
| 213 | { "pre", 3, "application/x-freelance" }, |
| 214 | { "prt", 3, "application/pro_eng" }, |
| 215 | { "ps", 2, "application/postscript" }, |
| 216 | { "qt", 2, "video/quicktime" }, |
| @@ -277,11 +281,11 @@ | |
| 281 | { "xbm", 3, "image/x-xbitmap" }, |
| 282 | { "xlc", 3, "application/vnd.ms-excel" }, |
| 283 | { "xll", 3, "application/vnd.ms-excel" }, |
| 284 | { "xlm", 3, "application/vnd.ms-excel" }, |
| 285 | { "xls", 3, "application/vnd.ms-excel" }, |
| 286 | { "xlsx", 4, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, |
| 287 | { "xlw", 3, "application/vnd.ms-excel" }, |
| 288 | { "xml", 3, "text/xml" }, |
| 289 | { "xpm", 3, "image/x-xpixmap" }, |
| 290 | { "xwd", 3, "image/x-xwindowdump" }, |
| 291 | { "xyz", 3, "chemical/x-pdb" }, |
| 292 |
+2
-5
| --- src/file.c | ||
| +++ src/file.c | ||
| @@ -483,11 +483,10 @@ | ||
| 483 | 483 | ** a file in a repository. Valid filenames follow all of the |
| 484 | 484 | ** following rules: |
| 485 | 485 | ** |
| 486 | 486 | ** * Does not begin with "/" |
| 487 | 487 | ** * Does not contain any path element named "." or ".." |
| 488 | -** * Does not contain any of these characters in the path: "\" | |
| 489 | 488 | ** * Does not end with "/". |
| 490 | 489 | ** * Does not contain two or more "/" characters in a row. |
| 491 | 490 | ** * Contains at least one character |
| 492 | 491 | ** |
| 493 | 492 | ** Invalid UTF8 characters result in a false return if bStrictUtf8 is |
| @@ -790,12 +789,12 @@ | ||
| 790 | 789 | } |
| 791 | 790 | |
| 792 | 791 | /* |
| 793 | 792 | ** Return TRUE if the given filename is canonical. |
| 794 | 793 | ** |
| 795 | -** Canonical names are full pathnames which contain no "/./" or "/../" | |
| 796 | -** terms and (On Windows/Cygwin) using "/" not "\". | |
| 794 | +** Canonical names are full pathnames using "/" not "\" and which | |
| 795 | +** contain no "/./" or "/../" terms. | |
| 797 | 796 | */ |
| 798 | 797 | int file_is_canonical(const char *z){ |
| 799 | 798 | int i; |
| 800 | 799 | if( z[0]!='/' |
| 801 | 800 | #if defined(_WIN32) |
| @@ -802,13 +801,11 @@ | ||
| 802 | 801 | && (z[0]==0 || z[1]!=':' || z[2]!='/') |
| 803 | 802 | #endif |
| 804 | 803 | ) return 0; |
| 805 | 804 | |
| 806 | 805 | for(i=0; z[i]; i++){ |
| 807 | -#if defined(_WIN32) || defined(__CYGWIN__) | |
| 808 | 806 | if( z[i]=='\\' ) return 0; |
| 809 | -#endif | |
| 810 | 807 | if( z[i]=='/' ){ |
| 811 | 808 | if( z[i+1]=='.' ){ |
| 812 | 809 | if( z[i+2]=='/' || z[i+2]==0 ) return 0; |
| 813 | 810 | if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0; |
| 814 | 811 | } |
| 815 | 812 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -483,11 +483,10 @@ | |
| 483 | ** a file in a repository. Valid filenames follow all of the |
| 484 | ** following rules: |
| 485 | ** |
| 486 | ** * Does not begin with "/" |
| 487 | ** * Does not contain any path element named "." or ".." |
| 488 | ** * Does not contain any of these characters in the path: "\" |
| 489 | ** * Does not end with "/". |
| 490 | ** * Does not contain two or more "/" characters in a row. |
| 491 | ** * Contains at least one character |
| 492 | ** |
| 493 | ** Invalid UTF8 characters result in a false return if bStrictUtf8 is |
| @@ -790,12 +789,12 @@ | |
| 790 | } |
| 791 | |
| 792 | /* |
| 793 | ** Return TRUE if the given filename is canonical. |
| 794 | ** |
| 795 | ** Canonical names are full pathnames which contain no "/./" or "/../" |
| 796 | ** terms and (On Windows/Cygwin) using "/" not "\". |
| 797 | */ |
| 798 | int file_is_canonical(const char *z){ |
| 799 | int i; |
| 800 | if( z[0]!='/' |
| 801 | #if defined(_WIN32) |
| @@ -802,13 +801,11 @@ | |
| 802 | && (z[0]==0 || z[1]!=':' || z[2]!='/') |
| 803 | #endif |
| 804 | ) return 0; |
| 805 | |
| 806 | for(i=0; z[i]; i++){ |
| 807 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 808 | if( z[i]=='\\' ) return 0; |
| 809 | #endif |
| 810 | if( z[i]=='/' ){ |
| 811 | if( z[i+1]=='.' ){ |
| 812 | if( z[i+2]=='/' || z[i+2]==0 ) return 0; |
| 813 | if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0; |
| 814 | } |
| 815 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -483,11 +483,10 @@ | |
| 483 | ** a file in a repository. Valid filenames follow all of the |
| 484 | ** following rules: |
| 485 | ** |
| 486 | ** * Does not begin with "/" |
| 487 | ** * Does not contain any path element named "." or ".." |
| 488 | ** * Does not end with "/". |
| 489 | ** * Does not contain two or more "/" characters in a row. |
| 490 | ** * Contains at least one character |
| 491 | ** |
| 492 | ** Invalid UTF8 characters result in a false return if bStrictUtf8 is |
| @@ -790,12 +789,12 @@ | |
| 789 | } |
| 790 | |
| 791 | /* |
| 792 | ** Return TRUE if the given filename is canonical. |
| 793 | ** |
| 794 | ** Canonical names are full pathnames using "/" not "\" and which |
| 795 | ** contain no "/./" or "/../" terms. |
| 796 | */ |
| 797 | int file_is_canonical(const char *z){ |
| 798 | int i; |
| 799 | if( z[0]!='/' |
| 800 | #if defined(_WIN32) |
| @@ -802,13 +801,11 @@ | |
| 801 | && (z[0]==0 || z[1]!=':' || z[2]!='/') |
| 802 | #endif |
| 803 | ) return 0; |
| 804 | |
| 805 | for(i=0; z[i]; i++){ |
| 806 | if( z[i]=='\\' ) return 0; |
| 807 | if( z[i]=='/' ){ |
| 808 | if( z[i+1]=='.' ){ |
| 809 | if( z[i+2]=='/' || z[i+2]==0 ) return 0; |
| 810 | if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0; |
| 811 | } |
| 812 |
+2
-5
| --- src/file.c | ||
| +++ src/file.c | ||
| @@ -483,11 +483,10 @@ | ||
| 483 | 483 | ** a file in a repository. Valid filenames follow all of the |
| 484 | 484 | ** following rules: |
| 485 | 485 | ** |
| 486 | 486 | ** * Does not begin with "/" |
| 487 | 487 | ** * Does not contain any path element named "." or ".." |
| 488 | -** * Does not contain any of these characters in the path: "\" | |
| 489 | 488 | ** * Does not end with "/". |
| 490 | 489 | ** * Does not contain two or more "/" characters in a row. |
| 491 | 490 | ** * Contains at least one character |
| 492 | 491 | ** |
| 493 | 492 | ** Invalid UTF8 characters result in a false return if bStrictUtf8 is |
| @@ -790,12 +789,12 @@ | ||
| 790 | 789 | } |
| 791 | 790 | |
| 792 | 791 | /* |
| 793 | 792 | ** Return TRUE if the given filename is canonical. |
| 794 | 793 | ** |
| 795 | -** Canonical names are full pathnames which contain no "/./" or "/../" | |
| 796 | -** terms and (On Windows/Cygwin) using "/" not "\". | |
| 794 | +** Canonical names are full pathnames using "/" not "\" and which | |
| 795 | +** contain no "/./" or "/../" terms. | |
| 797 | 796 | */ |
| 798 | 797 | int file_is_canonical(const char *z){ |
| 799 | 798 | int i; |
| 800 | 799 | if( z[0]!='/' |
| 801 | 800 | #if defined(_WIN32) |
| @@ -802,13 +801,11 @@ | ||
| 802 | 801 | && (z[0]==0 || z[1]!=':' || z[2]!='/') |
| 803 | 802 | #endif |
| 804 | 803 | ) return 0; |
| 805 | 804 | |
| 806 | 805 | for(i=0; z[i]; i++){ |
| 807 | -#if defined(_WIN32) || defined(__CYGWIN__) | |
| 808 | 806 | if( z[i]=='\\' ) return 0; |
| 809 | -#endif | |
| 810 | 807 | if( z[i]=='/' ){ |
| 811 | 808 | if( z[i+1]=='.' ){ |
| 812 | 809 | if( z[i+2]=='/' || z[i+2]==0 ) return 0; |
| 813 | 810 | if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0; |
| 814 | 811 | } |
| 815 | 812 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -483,11 +483,10 @@ | |
| 483 | ** a file in a repository. Valid filenames follow all of the |
| 484 | ** following rules: |
| 485 | ** |
| 486 | ** * Does not begin with "/" |
| 487 | ** * Does not contain any path element named "." or ".." |
| 488 | ** * Does not contain any of these characters in the path: "\" |
| 489 | ** * Does not end with "/". |
| 490 | ** * Does not contain two or more "/" characters in a row. |
| 491 | ** * Contains at least one character |
| 492 | ** |
| 493 | ** Invalid UTF8 characters result in a false return if bStrictUtf8 is |
| @@ -790,12 +789,12 @@ | |
| 790 | } |
| 791 | |
| 792 | /* |
| 793 | ** Return TRUE if the given filename is canonical. |
| 794 | ** |
| 795 | ** Canonical names are full pathnames which contain no "/./" or "/../" |
| 796 | ** terms and (On Windows/Cygwin) using "/" not "\". |
| 797 | */ |
| 798 | int file_is_canonical(const char *z){ |
| 799 | int i; |
| 800 | if( z[0]!='/' |
| 801 | #if defined(_WIN32) |
| @@ -802,13 +801,11 @@ | |
| 802 | && (z[0]==0 || z[1]!=':' || z[2]!='/') |
| 803 | #endif |
| 804 | ) return 0; |
| 805 | |
| 806 | for(i=0; z[i]; i++){ |
| 807 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 808 | if( z[i]=='\\' ) return 0; |
| 809 | #endif |
| 810 | if( z[i]=='/' ){ |
| 811 | if( z[i+1]=='.' ){ |
| 812 | if( z[i+2]=='/' || z[i+2]==0 ) return 0; |
| 813 | if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0; |
| 814 | } |
| 815 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -483,11 +483,10 @@ | |
| 483 | ** a file in a repository. Valid filenames follow all of the |
| 484 | ** following rules: |
| 485 | ** |
| 486 | ** * Does not begin with "/" |
| 487 | ** * Does not contain any path element named "." or ".." |
| 488 | ** * Does not end with "/". |
| 489 | ** * Does not contain two or more "/" characters in a row. |
| 490 | ** * Contains at least one character |
| 491 | ** |
| 492 | ** Invalid UTF8 characters result in a false return if bStrictUtf8 is |
| @@ -790,12 +789,12 @@ | |
| 789 | } |
| 790 | |
| 791 | /* |
| 792 | ** Return TRUE if the given filename is canonical. |
| 793 | ** |
| 794 | ** Canonical names are full pathnames using "/" not "\" and which |
| 795 | ** contain no "/./" or "/../" terms. |
| 796 | */ |
| 797 | int file_is_canonical(const char *z){ |
| 798 | int i; |
| 799 | if( z[0]!='/' |
| 800 | #if defined(_WIN32) |
| @@ -802,13 +801,11 @@ | |
| 801 | && (z[0]==0 || z[1]!=':' || z[2]!='/') |
| 802 | #endif |
| 803 | ) return 0; |
| 804 | |
| 805 | for(i=0; z[i]; i++){ |
| 806 | if( z[i]=='\\' ) return 0; |
| 807 | if( z[i]=='/' ){ |
| 808 | if( z[i+1]=='.' ){ |
| 809 | if( z[i+2]=='/' || z[i+2]==0 ) return 0; |
| 810 | if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0; |
| 811 | } |
| 812 |