Fossil SCM
Procedure of checking permission of global config is chenged. Now you can share global config in home directory from cgi. SeeAlso: http://www.mail-archive.com/[email protected]/msg14482.html
Commit
f47298b25cbd147c0cdd4bbf8531956d014ff961
Parent
e92e2d4d1f1847e…
1 file changed
+4
-2
M
src/db.c
+4
-2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -831,14 +831,16 @@ | ||
| 831 | 831 | } |
| 832 | 832 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 833 | 833 | /* . filenames give some window systems problems and many apps problems */ |
| 834 | 834 | zDbName = mprintf("%//_fossil", zHome); |
| 835 | 835 | #else |
| 836 | - if( file_access(zHome, W_OK) ){ | |
| 836 | + zDbName = mprintf("%s/.fossil", zHome); | |
| 837 | + if( file_size(zDbName)<1024*3 && file_access(zHome, W_OK) ){ | |
| 837 | 838 | fossil_fatal("home directory %s must be writeable", zHome); |
| 839 | + }else if( file_access(zDbName, W_OK) ){ | |
| 840 | + fossil_fatal("configuration file %s must be writeable", zDbName); | |
| 838 | 841 | } |
| 839 | - zDbName = mprintf("%s/.fossil", zHome); | |
| 840 | 842 | #endif |
| 841 | 843 | if( file_size(zDbName)<1024*3 ){ |
| 842 | 844 | db_init_database(zDbName, zConfigSchema, (char*)0); |
| 843 | 845 | } |
| 844 | 846 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 845 | 847 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -831,14 +831,16 @@ | |
| 831 | } |
| 832 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 833 | /* . filenames give some window systems problems and many apps problems */ |
| 834 | zDbName = mprintf("%//_fossil", zHome); |
| 835 | #else |
| 836 | if( file_access(zHome, W_OK) ){ |
| 837 | fossil_fatal("home directory %s must be writeable", zHome); |
| 838 | } |
| 839 | zDbName = mprintf("%s/.fossil", zHome); |
| 840 | #endif |
| 841 | if( file_size(zDbName)<1024*3 ){ |
| 842 | db_init_database(zDbName, zConfigSchema, (char*)0); |
| 843 | } |
| 844 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 845 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -831,14 +831,16 @@ | |
| 831 | } |
| 832 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 833 | /* . filenames give some window systems problems and many apps problems */ |
| 834 | zDbName = mprintf("%//_fossil", zHome); |
| 835 | #else |
| 836 | zDbName = mprintf("%s/.fossil", zHome); |
| 837 | if( file_size(zDbName)<1024*3 && file_access(zHome, W_OK) ){ |
| 838 | fossil_fatal("home directory %s must be writeable", zHome); |
| 839 | }else if( file_access(zDbName, W_OK) ){ |
| 840 | fossil_fatal("configuration file %s must be writeable", zDbName); |
| 841 | } |
| 842 | #endif |
| 843 | if( file_size(zDbName)<1024*3 ){ |
| 844 | db_init_database(zDbName, zConfigSchema, (char*)0); |
| 845 | } |
| 846 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 847 |