Changeset 8293
- Timestamp:
- 02/05/13 15:03:04 (11 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-dvbapi.c
r8292 r8293 11 11 #include "oscam-chk.h" 12 12 #include "oscam-client.h" 13 #include "oscam-config.h" 13 14 #include "oscam-ecm.h" 14 15 #include "oscam-emm.h" … … 18 19 #include "oscam-string.h" 19 20 #include "oscam-time.h" 20 21 extern char cs_confdir[];22 21 23 22 // These are declared in module-dvbapi-azbox.c … … 1115 1114 const char *cs_prio="oscam.dvbapi"; 1116 1115 1117 snprintf(token, sizeof(token), "%s%s", cs_confdir, cs_prio); 1118 fp=fopen(token, "r"); 1116 fp = fopen(get_config_filename(token, sizeof(token), cs_prio), "r"); 1119 1117 1120 1118 if (!fp) { -
trunk/module-webif-lib.c
r8292 r8293 11 11 #include "oscam-net.h" 12 12 13 extern char cs_confdir[];14 13 extern uint8_t cs_http_use_utf8; 15 14 … … 1269 1268 1270 1269 if (!cfg.http_cert) 1271 snprintf(path, sizeof(path), "%s%s", cs_confdir, cs_cert);1270 get_config_filename(path, sizeof(path), cs_cert); 1272 1271 else 1273 1272 cs_strncpy(path, cfg.http_cert, sizeof(path)); -
trunk/module-webif.c
r8292 r8293 3762 3762 if (strcmp(getParam(params, "file"), "conf") == 0) { 3763 3763 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FCONF); 3764 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.conf");3764 get_config_filename(targetfile, sizeof(targetfile), "oscam.conf"); 3765 3765 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.conf"); 3766 3766 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3776 3776 else if (strcmp(getParam(params, "file"), "user") == 0) { 3777 3777 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FUSER); 3778 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.user");3778 get_config_filename(targetfile, sizeof(targetfile), "oscam.user"); 3779 3779 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.user"); 3780 3780 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3783 3783 else if (strcmp(getParam(params, "file"), "server") == 0) { 3784 3784 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FSERVER); 3785 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.server");3785 get_config_filename(targetfile, sizeof(targetfile), "oscam.server"); 3786 3786 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.server"); 3787 3787 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3790 3790 else if (strcmp(getParam(params, "file"), "services") == 0) { 3791 3791 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FSERVICES); 3792 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.services");3792 get_config_filename(targetfile, sizeof(targetfile), "oscam.services"); 3793 3793 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.services"); 3794 3794 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3797 3797 else if (strcmp(getParam(params, "file"), "whitelist") == 0) { 3798 3798 if(!apicall) setActiveSubMenu(vars, MNU_CFG_WHITELIST); 3799 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.whitelist");3799 get_config_filename(targetfile, sizeof(targetfile), "oscam.whitelist"); 3800 3800 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.whitelist"); 3801 3801 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3804 3804 else if (strcmp(getParam(params, "file"), "srvid") == 0) { 3805 3805 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FSRVID); 3806 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.srvid");3806 get_config_filename(targetfile, sizeof(targetfile), "oscam.srvid"); 3807 3807 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.srvid"); 3808 3808 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3811 3811 else if (strcmp(getParam(params, "file"), "provid") == 0) { 3812 3812 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FPROVID); 3813 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.provid");3813 get_config_filename(targetfile, sizeof(targetfile), "oscam.provid"); 3814 3814 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.provid"); 3815 3815 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3818 3818 else if (strcmp(getParam(params, "file"), "tiers") == 0) { 3819 3819 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FTIERS); 3820 snprintf(targetfile, 255,"%s%s", cs_confdir, "oscam.tiers");3820 get_config_filename(targetfile, sizeof(targetfile), "oscam.tiers"); 3821 3821 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.tiers"); 3822 3822 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); … … 3907 3907 else if (strcmp(getParam(params, "file"), "dvbapi") == 0) { 3908 3908 if(!apicall) setActiveSubMenu(vars, MNU_CFG_FDVBAPI); 3909 snprintf(targetfile, 255, "%s%s", cs_confdir, "oscam.dvbapi");3909 get_config_filename(targetfile, sizeof(targetfile), "oscam.dvbapi"); 3910 3910 tpl_addVar(vars, TPLADD, "APIFILENAME", "oscam.dvbapi"); 3911 3911 tpl_addVar(vars, TPLADD, "APIWRITABLE", "1"); -
trunk/oscam-conf.c
r8292 r8293 1 1 #include "globals.h" 2 2 #include "oscam-conf.h" 3 #include "oscam-config.h" 3 4 #include "oscam-files.h" 4 5 #include "oscam-garbage.h" 5 6 #include "oscam-string.h" 6 7 extern char cs_confdir[];8 7 9 8 #define CONFVARWIDTH 30 … … 376 375 377 376 static FILE *__open_config_file(const char *conf_filename, bool die_on_err) { 378 unsigned int len = strlen(cs_confdir) + strlen(conf_filename) + 8; 379 char filename[len]; 380 snprintf(filename, len, "%s%s", cs_confdir, conf_filename); 381 FILE *f = fopen(filename, "r"); 377 char filename[256]; 378 FILE *f = fopen(get_config_filename(filename, sizeof(filename), conf_filename), "r"); 382 379 if (!f) { 383 380 if (die_on_err) { … … 403 400 404 401 FILE *create_config_file(const char *conf_filename) { 405 unsigned int len = strlen(cs_confdir) + strlen(conf_filename) + 8;406 char temp_file[len];407 s nprintf(temp_file, len, "%s%s.tmp", cs_confdir, conf_filename);402 char temp_file[256]; 403 get_config_filename(temp_file, sizeof(temp_file), conf_filename); 404 strncat(temp_file, ".tmp", sizeof(temp_file) - 1); 408 405 FILE *f = fopen(temp_file, "w"); 409 406 if (!f) { … … 420 417 421 418 bool flush_config_file(FILE *f, const char *conf_filename) { 422 unsigned int len = strlen(cs_confdir) + strlen(conf_filename) + 8; 423 char temp_file[len], destfile[len], bakfile[len]; 424 snprintf(destfile, len, "%s%s" , cs_confdir, conf_filename); 425 snprintf(temp_file, len, "%s%s.tmp", cs_confdir, conf_filename); 426 snprintf(bakfile, len, "%s%s.bak", cs_confdir, conf_filename); 419 char dst_file[256], tmp_file[256], bak_file[256]; 420 get_config_filename(dst_file, sizeof(dst_file), conf_filename); 421 memcpy(tmp_file, dst_file, sizeof(tmp_file)); 422 memcpy(bak_file, dst_file, sizeof(bak_file)); 423 strncat(tmp_file, ".tmp", sizeof(tmp_file) - 1); 424 strncat(bak_file, ".bak", sizeof(bak_file) - 1); 427 425 fclose(f); 428 return safe_overwrite_with_bak(d estfile, temp_file, bakfile, 0);429 } 426 return safe_overwrite_with_bak(dst_file, tmp_file, bak_file, 0); 427 } -
trunk/oscam-config.c
r8292 r8293 22 22 23 23 uint32_t cfg_sidtab_generation = 1; 24 25 extern char cs_confdir[]; 26 27 char *get_config_filename(char *dest, size_t destlen, const char *filename) { 28 // cs_confdir is always terminated with / 29 snprintf(dest, destlen, "%s%s", cs_confdir, filename); 30 return dest; 31 } 24 32 25 33 int32_t write_services(void) -
trunk/oscam-config.h
r8266 r8293 1 1 #ifndef OSCAM_CONFIG_H_ 2 2 #define OSCAM_CONFIG_H_ 3 4 char *get_config_filename(char *dest, size_t destlen, const char *filename); 3 5 4 6 int32_t init_config(void); -
trunk/oscam-emm.c
r8292 r8293 2 2 #include "module-led.h" 3 3 #include "oscam-client.h" 4 #include "oscam-config.h" 4 5 #include "oscam-emm.h" 5 6 #include "oscam-string.h" … … 7 8 #include "oscam-work.h" 8 9 #include "reader-common.h" 9 10 extern char cs_confdir[];11 10 12 11 const char *entitlement_type[] = { "", "package", "PPV-Event", "chid", "tier", "class", "PBM", "admin" }; … … 190 189 rdr_debug_mask(reader, D_EMM, "skip provider %04X:%06X", caid, provid); 191 190 return 0; 191 } 192 193 static char *get_emmlog_filename(char *dest, size_t destlen, const char *basename, const char *ext) { 194 char filename[64 + 16]; 195 snprintf(filename, sizeof(filename), "%s_emm.%s", basename, ext); 196 if (!cfg.emmlogdir) { 197 get_config_filename(dest, destlen, filename); 198 } else { 199 const char *slash = "/"; 200 if (cfg.emmlogdir[strlen(cfg.emmlogdir) - 1] == '/') slash = ""; 201 snprintf(dest, destlen, "%s%s%s", cfg.emmlogdir, slash, filename); 202 } 203 return dest; 192 204 } 193 205 … … 213 225 int32_t emm_length = ((ep->emm[1] & 0x0f) << 8) | ep->emm[2]; 214 226 strftime(buf, sizeof(buf), "%Y/%m/%d %H:%M:%S", &timeinfo); 215 snprintf(token, sizeof(token), "%s/%s_emm.log", 216 cfg.emmlogdir ? cfg.emmlogdir : cs_confdir, aureader->label); 217 if (!(fp = fopen(token, "a"))) { 227 if (!(fp = fopen(get_emmlog_filename(token, sizeof(token), aureader->label, "log"), "a"))) { 218 228 rdr_log(aureader, "ERROR: Cannot open file '%s' (errno=%d: %s)\n", token, errno, strerror(errno)); 219 229 } else if (cs_malloc(&tmp2, (emm_length + 3) * 2 + 1)) { … … 224 234 rdr_log(aureader, "Successfully added EMM to %s", token); 225 235 } 226 snprintf(token, sizeof(token), "%s/%s_emm.bin", 227 cfg.emmlogdir ? cfg.emmlogdir : cs_confdir, aureader->label); 228 if (!(fp = fopen (token, "ab"))) { 236 if (!(fp = fopen(get_emmlog_filename(token, sizeof(token), aureader->label, "bin"), "ab"))) { 229 237 rdr_log(aureader, "ERROR: Cannot open file '%s' (errno=%d: %s)\n", token, errno, strerror(errno)); 230 238 } else { … … 454 462 snprintf(token, sizeof(token), "%s", reader->emmfile); //pathname included 455 463 else 456 snprintf (token, sizeof(token), "%s%s", cs_confdir, reader->emmfile); //only file specified, look in confdir for this file464 get_config_filename(token, sizeof(token), reader->emmfile); //only file specified, look in confdir for this file 457 465 458 466 if (!(fp = fopen (token, "rb"))) { -
trunk/oscam.c
r8292 r8293 1442 1442 cfg.max_pending = max_pending; 1443 1443 1444 if (cs_confdir[strlen(cs_confdir) ]!='/') strcat(cs_confdir, "/");1444 if (cs_confdir[strlen(cs_confdir) - 1] != '/') strcat(cs_confdir, "/"); 1445 1445 init_signal_pre(); // because log could cause SIGPIPE errors, init a signal handler first 1446 1446 init_first_client(); -
trunk/reader-cryptoworks.c
r8292 r8293 1 1 #include "globals.h" 2 2 #ifdef READER_CRYPTOWORKS 3 #include "oscam-config.h" 3 4 #include "reader-common.h" 4 5 5 6 #define CMD_LEN 5 6 7 extern char cs_confdir[];8 7 9 8 static const char *cs_cert = "oscam.cert"; … … 15 14 char c_caid[512]; 16 15 17 snprintf(c_caid, sizeof(c_caid), "%s%s", cs_confdir, cs_cert); 18 fp = fopen(c_caid, "r"); 16 fp = fopen(get_config_filename(c_caid, sizeof(c_caid), cs_cert), "r"); 19 17 if (fp) { 20 18 for (; (!rc) && fgets(c_caid, sizeof(c_caid), fp);) {
Note:
See TracChangeset
for help on using the changeset viewer.