116 cfgreload = 1; |
116 cfgreload = 1; |
117 } |
117 } |
118 } |
118 } |
119 |
119 |
120 struct stat s; |
120 struct stat s; |
121 if(stat("conf/server.conf", &s) != 0) { |
121 if(stat("config/server.conf", &s) != 0) { |
122 perror("stat(\"conf/server.conf\")"); |
122 perror("stat(\"config/server.conf\")"); |
123 return -1; |
123 return -1; |
124 } |
124 } |
125 |
125 |
126 ServerConfiguration *config; |
126 ServerConfiguration *config; |
127 if(sc_last_modified != s.st_mtim.tv_sec) { |
127 if(sc_last_modified != s.st_mtim.tv_sec) { |
128 printf("cfgmgr load server.conf\n"); |
128 printf("cfgmgr load server.conf\n"); |
129 config = load_server_conf( |
129 config = load_server_conf( |
130 current_config, |
130 current_config, |
131 "conf/server.conf"); |
131 "config/server.conf"); |
132 |
132 |
133 if(config == NULL) { |
133 if(config == NULL) { |
134 fprintf(stderr, "Cannot load server.conf\n"); |
134 fprintf(stderr, "Cannot load server.conf\n"); |
135 return -1; |
135 return -1; |
136 } |
136 } |
142 |
142 |
143 /* TODO: copy */ |
143 /* TODO: copy */ |
144 /* |
144 /* |
145 config = load_server_conf( |
145 config = load_server_conf( |
146 current_config, |
146 current_config, |
147 "conf/server.conf"); |
147 "config/server.conf"); |
148 */ |
148 */ |
149 config = malloc(sizeof(ServerConfiguration)); |
149 config = malloc(sizeof(ServerConfiguration)); |
150 config->ref = 1; |
150 config->ref = 1; |
151 config->pool = pool_create(); |
151 config->pool = pool_create(); |
152 config->user = sstrdup_pool(config->pool, current_config->user); |
152 config->user = sstrdup_pool(config->pool, current_config->user); |
153 config->tmp = sstrdup_pool(config->pool, current_config->tmp); |
153 config->tmp = sstrdup_pool(config->pool, current_config->tmp); |
154 |
154 |
155 // copy configuration |
155 // copy configuration |
156 config->host_vs = ucx_map_clone( |
156 config->host_vs = ucx_map_clone( |
157 current_config->host_vs, |
157 current_config->host_vs, |
158 copy_vs, |
158 copy_vs, |
159 config->pool); |
159 config->pool); |
160 |
160 |
161 config->listeners = ucx_list_clone( |
161 config->listeners = ucx_list_clone( |
162 current_config->listeners, |
162 current_config->listeners, |
163 (copy_func)copy_listener, |
163 (copy_func)copy_listener, |
164 config); |
164 config); |
165 |
165 |
166 |
166 // TODO: we need to get the mime map from the configfile data |
|
167 config->mimetypes = current_config->mimetypes; |
|
168 |
167 if(config == NULL) { |
169 if(config == NULL) { |
168 fprintf(stderr, "Cannot load server.conf\n"); |
170 fprintf(stderr, "Cannot load server.conf\n"); |
169 return -1; |
171 return -1; |
170 } |
172 } |
171 |
173 |