From: Steve Murphy Date: Thu, 21 Dec 2006 19:44:20 +0000 (+0000) Subject: a quick fix to app_sms.c to get rid of cursed compiler warnings so I can compile... X-Git-Tag: 1.6.0-beta1~3^2~3664 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b338004bfc2934ce4d99160c47a2e1b1449e0ee;p=thirdparty%2Fasterisk.git a quick fix to app_sms.c to get rid of cursed compiler warnings so I can compile under --enable-dev-mode git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48767 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index cf1e4759d2..61d8afab5d 100644 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -617,7 +617,7 @@ static int chanspy_exec(struct ast_channel *chan, void *data) char filename[512]; snprintf(filename, sizeof(filename), "%s/%s.%d.raw", ast_config_AST_MONITOR_DIR, recbase, (int) time(NULL)); - if ((fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644)) <= 0) { + if ((fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, AST_FILE_MODE)) <= 0) { ast_log(LOG_WARNING, "Cannot open '%s' for recording\n", filename); fd = 0; } @@ -701,7 +701,7 @@ static int extenspy_exec(struct ast_channel *chan, void *data) char filename[512]; snprintf(filename, sizeof(filename), "%s/%s.%d.raw", ast_config_AST_MONITOR_DIR, recbase, (int) time(NULL)); - if ((fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644)) <= 0) { + if ((fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, AST_FILE_MODE)) <= 0) { ast_log(LOG_WARNING, "Cannot open '%s' for recording\n", filename); fd = 0; } diff --git a/apps/app_dictate.c b/apps/app_dictate.c index 0c46118e47..661a4a2373 100644 --- a/apps/app_dictate.c +++ b/apps/app_dictate.c @@ -150,7 +150,7 @@ static int dictate_exec(struct ast_channel *chan, void *data) } snprintf(path, len, "%s/%s", base, filein); - fs = ast_writefile(path, "raw", NULL, O_CREAT|O_APPEND, 0, 0700); + fs = ast_writefile(path, "raw", NULL, O_CREAT|O_APPEND, 0, AST_FILE_MODE); mode = DMODE_PLAY; memset(&flags, 0, sizeof(flags)); ast_set_flag(&flags, DFLAG_PAUSE); @@ -307,7 +307,7 @@ static int dictate_exec(struct ast_channel *chan, void *data) } else { oflags |= O_APPEND; } - fs = ast_writefile(path, "raw", NULL, oflags, 0, 0700); + fs = ast_writefile(path, "raw", NULL, oflags, 0, AST_FILE_MODE); if (ast_test_flag(&flags, DFLAG_TRUNC)) { ast_seekstream(fs, 0, SEEK_SET); ast_clear_flag(&flags, DFLAG_TRUNC); diff --git a/apps/app_directory.c b/apps/app_directory.c index 3b1d29e115..c5f083c3c9 100644 --- a/apps/app_directory.c +++ b/apps/app_directory.c @@ -142,7 +142,7 @@ static void retrieve_file(char *dir) SQLFreeHandle(SQL_HANDLE_STMT, stmt); break; } - fd = open(full_fn, O_RDWR | O_CREAT | O_TRUNC, 0770); + fd = open(full_fn, O_RDWR | O_CREAT | O_TRUNC, AST_FILE_MODE); if (fd < 0) { ast_log(LOG_WARNING, "Failed to write '%s': %s\n", full_fn, strerror(errno)); SQLFreeHandle(SQL_HANDLE_STMT, stmt); diff --git a/apps/app_festival.c b/apps/app_festival.c index 7af2e78a6a..1fa935e0b1 100644 --- a/apps/app_festival.c +++ b/apps/app_festival.c @@ -433,7 +433,7 @@ static int festival_exec(struct ast_channel *chan, void *vdata) snprintf(cachefile, sizeof(cachefile), "%s/%s", cachedir, MD5Hex); fdesc=open(cachefile,O_RDWR); if (fdesc==-1) { - fdesc=open(cachefile,O_CREAT|O_RDWR,0777); + fdesc=open(cachefile,O_CREAT|O_RDWR,AST_FILE_MODE); if (fdesc!=-1) { writecache=1; strln=strlen((char *)data); diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 003363fc1a..0a3e4a82b5 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -2874,7 +2874,7 @@ static void *recordthread(void *args) break; } if (!s && cnf->recordingfilename && (cnf->recordingfilename != oldrecordingfilename)) { - s = ast_writefile(cnf->recordingfilename, cnf->recordingformat, NULL, flags, 0, 0644); + s = ast_writefile(cnf->recordingfilename, cnf->recordingformat, NULL, flags, 0, AST_FILE_MODE); oldrecordingfilename = cnf->recordingfilename; } diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c index 1171fc89e1..210e189686 100644 --- a/apps/app_mixmonitor.c +++ b/apps/app_mixmonitor.c @@ -256,7 +256,7 @@ static void launch_monitor_thread(struct ast_channel *chan, const char *filename } /* Move onto actually creating the filestream */ - mixmonitor->fs = ast_writefile(file_name, ext, NULL, oflags, 0, 0644); + mixmonitor->fs = ast_writefile(file_name, ext, NULL, oflags, 0, AST_FILE_MODE); if (!mixmonitor->fs) { ast_log(LOG_ERROR, "Cannot open %s.%s\n", file_name, ext); free(mixmonitor); diff --git a/apps/app_record.c b/apps/app_record.c index b38944aefa..e06d84a46e 100644 --- a/apps/app_record.c +++ b/apps/app_record.c @@ -265,7 +265,7 @@ static int record_exec(struct ast_channel *chan, void *data) flags = option_append ? O_CREAT|O_APPEND|O_WRONLY : O_CREAT|O_TRUNC|O_WRONLY; - s = ast_writefile( tmp, ext, NULL, flags , 0, 0644); + s = ast_writefile( tmp, ext, NULL, flags , 0, AST_FILE_MODE); if (!s) { ast_log(LOG_WARNING, "Could not create file %s\n", filename); diff --git a/apps/app_sms.c b/apps/app_sms.c index 0d0a0c1e1f..c68d3b958c 100644 --- a/apps/app_sms.c +++ b/apps/app_sms.c @@ -245,7 +245,7 @@ typedef struct sms_s { int protocol; /*!< ETSI SMS protocol to use (passed at app call) */ int oseizure; /*!< protocol 2: channel seizure bits to send */ int framenumber; /*!< protocol 2: frame number (for sending ACK0 or ACK1) */ - unsigned char udtxt[SMSLEN]; /*!< user data (message), PLAIN text */ + char udtxt[SMSLEN]; /*!< user data (message), PLAIN text */ } sms_t; /* different types of encoding */ @@ -707,7 +707,7 @@ static unsigned char packaddress (unsigned char *o, char *i) static void sms_log (sms_t * h, char status) { if (*h->oa || *h->da) { - int o = open (log_file, O_CREAT | O_APPEND | O_WRONLY, 0666); + int o = open (log_file, O_CREAT | O_APPEND | O_WRONLY, AST_FILE_MODE); if (o >= 0) { char line[1000], mrs[3] = "", *p; unsigned char n; @@ -1184,14 +1184,14 @@ static int sms_handleincoming_proto2 (sms_t * h) msgsz=20-1; if (option_verbose > 2) ast_verbose (VERBOSE_PREFIX_3 "SMS-P2 Origin#%02X=[%.*s]\n",msg,msgsz,&h->imsg[f]); - ast_copy_string (h->oa, &h->imsg[f], msgsz+1); + ast_copy_string (h->oa, (char*)(&h->imsg[f]), msgsz+1); break; case 0x18: /* Destination (from TE/phone) */ if (msgsz>=20) msgsz=20-1; if (option_verbose > 2) ast_verbose (VERBOSE_PREFIX_3 "SMS-P2 Destination#%02X=[%.*s]\n",msg,msgsz,&h->imsg[f]); - ast_copy_string (h->da, &h->imsg[f], msgsz+1); + ast_copy_string (h->da, (char*)(&h->imsg[f]), msgsz+1); break; case 0x1C: /* Notify */ if (option_verbose > 2) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 61ced56610..9a02f38c1c 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -1072,7 +1072,7 @@ static int retrieve_file(char *dir, int msgnum) ast_odbc_release_obj(obj); goto yuck; } - fd = open(full_fn, O_RDWR | O_CREAT | O_TRUNC, 0770); + fd = open(full_fn, O_RDWR | O_CREAT | O_TRUNC, VOICEMAIL_FILE_MODE); if (fd < 0) { ast_log(LOG_WARNING, "Failed to write '%s': %s\n", full_fn, strerror(errno)); SQLFreeHandle (SQL_HANDLE_STMT, stmt); diff --git a/cdr/cdr_sqlite.c b/cdr/cdr_sqlite.c index 146f7a2092..c56fd4d9cd 100644 --- a/cdr/cdr_sqlite.c +++ b/cdr/cdr_sqlite.c @@ -181,7 +181,7 @@ static int load_module(void) /* is the database there? */ snprintf(fn, sizeof(fn), "%s/cdr.db", ast_config_AST_LOG_DIR); - db = sqlite_open(fn, 0660, &zErr); + db = sqlite_open(fn, AST_FILE_MODE, &zErr); if (!db) { ast_log(LOG_ERROR, "cdr_sqlite: %s\n", zErr); free(zErr); diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 1ada3a24d3..6456f4637e 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -1414,7 +1414,7 @@ static int try_firmware(char *s) ast_log(LOG_WARNING, "Cannot open '%s': %s\n", s, strerror(errno)); return -1; } - fd = open(s2, O_RDWR | O_CREAT | O_EXCL); + fd = open(s2, O_RDWR | O_CREAT | O_EXCL, AST_FILE_MODE); if (fd < 0) { ast_log(LOG_WARNING, "Cannot open '%s' for writing: %s\n", s2, strerror(errno)); close(ifd); diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 127b0ed039..5f267e2e78 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -10242,7 +10242,7 @@ static int start_pri(struct zt_pri *pri) for (i = 0; i < NUM_DCHANS; i++) { if (!pri->dchannels[i]) break; - pri->fds[i] = open("/dev/zap/channel", O_RDWR, 0600); + pri->fds[i] = open("/dev/zap/channel", O_RDWR); x = pri->dchannels[i]; if ((pri->fds[i] < 0) || (ioctl(pri->fds[i],ZT_SPECIFY,&x) == -1)) { ast_log(LOG_ERROR, "Unable to open D-channel %d (%s)\n", x, strerror(errno)); @@ -10359,7 +10359,7 @@ static int handle_pri_set_debug_file(int fd, int argc, char **argv) if (ast_strlen_zero(argv[4])) return RESULT_SHOWUSAGE; - myfd = open(argv[4], O_CREAT|O_WRONLY); + myfd = open(argv[4], O_CREAT|O_WRONLY, AST_FILE_MODE); if (myfd < 0) { ast_cli(fd, "Unable to open '%s' for writing\n", argv[4]); return RESULT_SUCCESS; diff --git a/include/asterisk.h b/include/asterisk.h index 6579496f7a..7bbb75f3aa 100644 --- a/include/asterisk.h +++ b/include/asterisk.h @@ -31,6 +31,16 @@ #include "asterisk/paths.h" +/* Default to allowing the umask or filesystem ACLs to determine actual file + * creation permissions + */ +#ifndef AST_DIR_MODE +#define AST_DIR_MODE 0777 +#endif +#ifndef AST_FILE_MODE +#define AST_FILE_MODE 0666 +#endif + #define DEFAULT_LANGUAGE "en" #define DEFAULT_SAMPLE_RATE 8000 diff --git a/main/app.c b/main/app.c index b2e2b8d5e6..33c6bd57d7 100644 --- a/main/app.c +++ b/main/app.c @@ -571,7 +571,7 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile, end = start = time(NULL); /* pre-initialize end to be same as start in case we never get into loop */ for (x = 0; x < fmtcnt; x++) { - others[x] = ast_writefile(prepend ? prependfile : recordfile, sfmt[x], comment, O_TRUNC, 0, 0700); + others[x] = ast_writefile(prepend ? prependfile : recordfile, sfmt[x], comment, O_TRUNC, 0, AST_FILE_MODE); if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 "x=%d, open writing: %s format: %s, %p\n", x, prepend ? prependfile : recordfile, sfmt[x], others[x]); @@ -943,7 +943,7 @@ enum AST_LOCK_RESULT ast_lock_path(const char *path) } snprintf(fs, strlen(path) + 19, "%s/.lock-%08lx", path, ast_random()); - fd = open(fs, O_WRONLY | O_CREAT | O_EXCL, 0600); + fd = open(fs, O_WRONLY | O_CREAT | O_EXCL, AST_FILE_MODE); if (fd < 0) { ast_log(LOG_ERROR, "Unable to create lock file '%s': %s\n", path, strerror(errno)); return AST_LOCK_PATH_NOT_FOUND; diff --git a/main/db.c b/main/db.c index 34ebfac522..735c93db17 100644 --- a/main/db.c +++ b/main/db.c @@ -62,7 +62,7 @@ AST_MUTEX_DEFINE_STATIC(dblock); static int dbinit(void) { - if (!astdb && !(astdb = dbopen((char *)ast_config_AST_DB, O_CREAT | O_RDWR, 0664, DB_BTREE, NULL))) { + if (!astdb && !(astdb = dbopen((char *)ast_config_AST_DB, O_CREAT | O_RDWR, AST_FILE_MODE, DB_BTREE, NULL))) { ast_log(LOG_WARNING, "Unable to open Asterisk database\n"); return -1; } diff --git a/main/file.c b/main/file.c index c5fb522d32..f67fbec29d 100644 --- a/main/file.c +++ b/main/file.c @@ -214,7 +214,7 @@ static int copy(const char *infile, const char *outfile) ast_log(LOG_WARNING, "Unable to open %s in read-only mode\n", infile); return -1; } - if ((ofd = open(outfile, O_WRONLY | O_TRUNC | O_CREAT, 0600)) < 0) { + if ((ofd = open(outfile, O_WRONLY | O_TRUNC | O_CREAT, AST_FILE_MODE)) < 0) { ast_log(LOG_WARNING, "Unable to open %s in write-only mode\n", outfile); close(ifd); return -1; diff --git a/res/res_agi.c b/res/res_agi.c index 042fdbfbca..55f5c65332 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -961,7 +961,7 @@ static int handle_recordfile(struct ast_channel *chan, AGI *agi, int argc, char if (res) { fdprintf(agi->fd, "200 result=%d (randomerror) endpos=%ld\n", res, sample_offset); } else { - fs = ast_writefile(argv[2], argv[3], NULL, O_CREAT | O_WRONLY | (sample_offset ? O_APPEND : 0), 0, 0644); + fs = ast_writefile(argv[2], argv[3], NULL, O_CREAT | O_WRONLY | (sample_offset ? O_APPEND : 0), 0, AST_FILE_MODE); if (!fs) { res = -1; fdprintf(agi->fd, "200 result=%d (writefile)\n", res); diff --git a/res/res_convert.c b/res/res_convert.c index d856c8faf0..628381aa9d 100644 --- a/res/res_convert.c +++ b/res/res_convert.c @@ -88,7 +88,7 @@ static int cli_audio_convert(int fd, int argc, char *argv[]) ast_cli(fd, "'%s' is an invalid filename!\n", argv[3]); goto fail_out; } - if (!(fs_out = ast_writefile(name_out, ext_out, NULL, O_CREAT|O_TRUNC|O_WRONLY, 0, 0644))) { + if (!(fs_out = ast_writefile(name_out, ext_out, NULL, O_CREAT|O_TRUNC|O_WRONLY, 0, AST_FILE_MODE))) { ast_cli(fd, "Unable to open output file: %s\n", argv[3]); goto fail_out; } diff --git a/res/res_monitor.c b/res/res_monitor.c index 934356aa71..515352e758 100644 --- a/res/res_monitor.c +++ b/res/res_monitor.c @@ -197,7 +197,7 @@ int ast_monitor_start( struct ast_channel *chan, const char *format_spec, } if (!(monitor->read_stream = ast_writefile(monitor->read_filename, monitor->format, NULL, - O_CREAT|O_TRUNC|O_WRONLY, 0, 0644))) { + O_CREAT|O_TRUNC|O_WRONLY, 0, AST_FILE_MODE))) { ast_log(LOG_WARNING, "Could not create file %s\n", monitor->read_filename); free(monitor); @@ -209,7 +209,7 @@ int ast_monitor_start( struct ast_channel *chan, const char *format_spec, } if (!(monitor->write_stream = ast_writefile(monitor->write_filename, monitor->format, NULL, - O_CREAT|O_TRUNC|O_WRONLY, 0, 0644))) { + O_CREAT|O_TRUNC|O_WRONLY, 0, AST_FILE_MODE))) { ast_log(LOG_WARNING, "Could not create file %s\n", monitor->write_filename); ast_closestream(monitor->read_stream);