From 324e35cd8ef391b4f6f848641fd5372b46fe2cd9 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 18 Dec 2018 16:35:52 -0500 Subject: [PATCH] 2018-12-18 Fred Gleason * Removed the source file for the 'rlm_urlwrite' RLM. * Removed the source file for the 'rlm_walltime' RLM. --- ChangeLog | 3 + apis/rlm/rlm_urlwrite.c | 480 ---------------------------------------- apis/rlm/rlm_walltime.c | 433 ------------------------------------ 3 files changed, 3 insertions(+), 913 deletions(-) delete mode 100644 apis/rlm/rlm_urlwrite.c delete mode 100644 apis/rlm/rlm_walltime.c diff --git a/ChangeLog b/ChangeLog index 5702dbbd..f009ef4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18231,3 +18231,6 @@ 2018-12-18 Fred Gleason * Added a 'pypad_walltime.py' PyPAD script. * Removed the 'rlm_walltime' RLM. +2018-12-18 Fred Gleason + * Removed the source file for the 'rlm_urlwrite' RLM. + * Removed the source file for the 'rlm_walltime' RLM. diff --git a/apis/rlm/rlm_urlwrite.c b/apis/rlm/rlm_urlwrite.c deleted file mode 100644 index c97a6eb0..00000000 --- a/apis/rlm/rlm_urlwrite.c +++ /dev/null @@ -1,480 +0,0 @@ -/* rlm_urlwrite.c - * - * (C) Copyright 2012-2018 Fred Gleason - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * This is a Rivendell Loadable Module. It uses Now&Next PAD data - * to upload one or more file(s) to the system specified in the - * configuration file pointed to by the plugin argument. - * - * To compile this module, just do: - * - * gcc -shared -o rlm_urlwrite.rlm rlm_urlwrite.c - */ - -#include -#include -#include -#include -#include -#include - -#include - -int rlm_urlwrite_devs; -char *rlm_urlwrite_urls; -char *rlm_urlwrite_usernames; -char *rlm_urlwrite_passwords; -char *rlm_urlwrite_formats; -int *rlm_urlwrite_encodings; -int *rlm_urlwrite_masters; -int *rlm_urlwrite_aux1s; -int *rlm_urlwrite_aux2s; -int *rlm_urlwrite_vlog101s; -int *rlm_urlwrite_vlog102s; -int *rlm_urlwrite_vlog103s; -int *rlm_urlwrite_vlog104s; -int *rlm_urlwrite_vlog105s; -int *rlm_urlwrite_vlog106s; -int *rlm_urlwrite_vlog107s; -int *rlm_urlwrite_vlog108s; -int *rlm_urlwrite_vlog109s; -int *rlm_urlwrite_vlog110s; -int *rlm_urlwrite_vlog111s; -int *rlm_urlwrite_vlog112s; -int *rlm_urlwrite_vlog113s; -int *rlm_urlwrite_vlog114s; -int *rlm_urlwrite_vlog115s; -int *rlm_urlwrite_vlog116s; -int *rlm_urlwrite_vlog117s; -int *rlm_urlwrite_vlog118s; -int *rlm_urlwrite_vlog119s; -int *rlm_urlwrite_vlog120s; - -void rlm_urlwrite_ReplaceChar(char c,char *str,int pos) -{ - int i; - - str[pos]=c; - for(i=pos+1;i0) { - rlm_urlwrite_urls=realloc(rlm_urlwrite_urls, - (rlm_urlwrite_devs+1)*(rlm_urlwrite_devs+1)*256); - strcpy(rlm_urlwrite_urls+256*rlm_urlwrite_devs,url); - rlm_urlwrite_usernames=realloc(rlm_urlwrite_usernames,(rlm_urlwrite_devs+1)*256); - strncpy(rlm_urlwrite_usernames+256*rlm_urlwrite_devs, - RLMGetStringValue(ptr,arg,section,"Username",""),256); - rlm_urlwrite_passwords=realloc(rlm_urlwrite_passwords,(rlm_urlwrite_devs+1)*256); - strncpy(rlm_urlwrite_passwords+256*rlm_urlwrite_devs, - RLMGetStringValue(ptr,arg,section,"Password",""),256); - rlm_urlwrite_formats=realloc(rlm_urlwrite_formats,(rlm_urlwrite_devs+1)*8192); - strncpy(rlm_urlwrite_formats+8192*rlm_urlwrite_devs, - RLMGetStringValue(ptr,arg,section,"FormatString",""),8192); - rlm_urlwrite_masters=realloc(rlm_urlwrite_masters, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_masters[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"MasterLog"); - - rlm_urlwrite_encodings=realloc(rlm_urlwrite_encodings, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_encodings[rlm_urlwrite_devs]= - RLMGetIntegerValue(ptr,arg,section,"Encoding",RLM_ENCODE_NONE); - rlm_urlwrite_aux1s=realloc(rlm_urlwrite_aux1s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_aux1s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"Aux1Log"); - rlm_urlwrite_aux2s=realloc(rlm_urlwrite_aux2s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_aux2s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"Aux2Log"); - - rlm_urlwrite_vlog101s=realloc(rlm_urlwrite_vlog101s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog101s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog101"); - - rlm_urlwrite_vlog102s=realloc(rlm_urlwrite_vlog102s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog102s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog102"); - - rlm_urlwrite_vlog103s=realloc(rlm_urlwrite_vlog103s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog103s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog103"); - - rlm_urlwrite_vlog104s=realloc(rlm_urlwrite_vlog104s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog104s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog104"); - - rlm_urlwrite_vlog105s=realloc(rlm_urlwrite_vlog105s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog105s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog105"); - - rlm_urlwrite_vlog106s=realloc(rlm_urlwrite_vlog106s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog106s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog106"); - - rlm_urlwrite_vlog107s=realloc(rlm_urlwrite_vlog107s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog107s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog107"); - - rlm_urlwrite_vlog108s=realloc(rlm_urlwrite_vlog108s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog108s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog108"); - - rlm_urlwrite_vlog109s=realloc(rlm_urlwrite_vlog109s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog109s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog109"); - - rlm_urlwrite_vlog110s=realloc(rlm_urlwrite_vlog110s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog110s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog110"); - - rlm_urlwrite_vlog111s=realloc(rlm_urlwrite_vlog111s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog111s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog111"); - - rlm_urlwrite_vlog112s=realloc(rlm_urlwrite_vlog112s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog112s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog112"); - - rlm_urlwrite_vlog113s=realloc(rlm_urlwrite_vlog113s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog113s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog113"); - - rlm_urlwrite_vlog114s=realloc(rlm_urlwrite_vlog114s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog114s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog114"); - - rlm_urlwrite_vlog115s=realloc(rlm_urlwrite_vlog115s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog115s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog115"); - - rlm_urlwrite_vlog116s=realloc(rlm_urlwrite_vlog116s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog116s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog116"); - - rlm_urlwrite_vlog117s=realloc(rlm_urlwrite_vlog117s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog117s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog117"); - - rlm_urlwrite_vlog118s=realloc(rlm_urlwrite_vlog118s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog118s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog118"); - - rlm_urlwrite_vlog119s=realloc(rlm_urlwrite_vlog119s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog119s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog119"); - - rlm_urlwrite_vlog120s=realloc(rlm_urlwrite_vlog120s, - (rlm_urlwrite_devs+1)*sizeof(int)); - rlm_urlwrite_vlog120s[rlm_urlwrite_devs]= - rlm_urlwrite_GetLogStatus(ptr,arg,section,"VLog120"); - - sprintf(errtext,"rlm_urlwrite: configured URL \"%s\"", - rlm_urlwrite_urls+256*rlm_urlwrite_devs); - rlm_urlwrite_devs++; - RLMLog(ptr,LOG_INFO,errtext); - sprintf(section,"Url%d",i++); - strncpy(url,RLMGetStringValue(ptr,arg,section,"Url",""),255); - url[255]=0; - } -} - - -void rlm_urlwrite_RLMFree(void *ptr) -{ - free(rlm_urlwrite_urls); - free(rlm_urlwrite_usernames); - free(rlm_urlwrite_passwords); - free(rlm_urlwrite_formats); - free(rlm_urlwrite_encodings); - free(rlm_urlwrite_masters); - free(rlm_urlwrite_aux1s); - free(rlm_urlwrite_aux2s); - free(rlm_urlwrite_vlog101s); - free(rlm_urlwrite_vlog102s); - free(rlm_urlwrite_vlog103s); - free(rlm_urlwrite_vlog104s); - free(rlm_urlwrite_vlog105s); - free(rlm_urlwrite_vlog106s); - free(rlm_urlwrite_vlog107s); - free(rlm_urlwrite_vlog108s); - free(rlm_urlwrite_vlog109s); - free(rlm_urlwrite_vlog110s); - free(rlm_urlwrite_vlog111s); - free(rlm_urlwrite_vlog112s); - free(rlm_urlwrite_vlog113s); - free(rlm_urlwrite_vlog114s); - free(rlm_urlwrite_vlog115s); - free(rlm_urlwrite_vlog116s); - free(rlm_urlwrite_vlog117s); - free(rlm_urlwrite_vlog118s); - free(rlm_urlwrite_vlog119s); - free(rlm_urlwrite_vlog120s); -} - - -void rlm_urlwrite_RLMPadDataSent(void *ptr,const struct rlm_svc *svc, - const struct rlm_log *log, - const struct rlm_pad *now, - const struct rlm_pad *next) -{ - int i; - int flag=0; - char str[8192]; - char msg[1500]; - char account[1024]; - char tempfile[1024]; - FILE *f; - - for(i=0;ilog_mach) { - case 0: - flag=rlm_urlwrite_masters[i]; - break; - - case 1: - flag=rlm_urlwrite_aux1s[i]; - break; - - case 2: - flag=rlm_urlwrite_aux2s[i]; - break; - - case 100: - flag=rlm_urlwrite_vlog101s[i]; - break; - - case 101: - flag=rlm_urlwrite_vlog102s[i]; - break; - - case 102: - flag=rlm_urlwrite_vlog103s[i]; - break; - - case 103: - flag=rlm_urlwrite_vlog104s[i]; - break; - - case 104: - flag=rlm_urlwrite_vlog105s[i]; - break; - - case 105: - flag=rlm_urlwrite_vlog106s[i]; - break; - - case 106: - flag=rlm_urlwrite_vlog107s[i]; - break; - - case 107: - flag=rlm_urlwrite_vlog108s[i]; - break; - - case 108: - flag=rlm_urlwrite_vlog109s[i]; - break; - - case 109: - flag=rlm_urlwrite_vlog110s[i]; - break; - - case 110: - flag=rlm_urlwrite_vlog111s[i]; - break; - - case 111: - flag=rlm_urlwrite_vlog112s[i]; - break; - - case 112: - flag=rlm_urlwrite_vlog113s[i]; - break; - - case 113: - flag=rlm_urlwrite_vlog114s[i]; - break; - - case 114: - flag=rlm_urlwrite_vlog115s[i]; - break; - - case 115: - flag=rlm_urlwrite_vlog116s[i]; - break; - - case 116: - flag=rlm_urlwrite_vlog117s[i]; - break; - - case 117: - flag=rlm_urlwrite_vlog118s[i]; - break; - - case 118: - flag=rlm_urlwrite_vlog119s[i]; - break; - - case 119: - flag=rlm_urlwrite_vlog120s[i]; - break; - } - if((flag==1)||((flag==2)&&(log->log_onair!=0))) { - strncpy(str,RLMResolveNowNextEncoded(ptr,now,next, - rlm_urlwrite_formats+8192*i, - rlm_urlwrite_encodings[i]),8192); - rlm_urlwrite_ProcessString(str); - snprintf(account,1024,"%s:%s",rlm_urlwrite_usernames+256*i, - rlm_urlwrite_passwords+256*i); - snprintf(tempfile,1024,"/tmp/rlm_urlwrite_%d",i); - f=fopen(tempfile,"w"); - if(f!=NULL) { - snprintf(msg,1500,"rlm_urlwrite: sending pad update: \"%s\" to \"%s\"", - str,rlm_urlwrite_urls+256*i); - fprintf(f,"%s",str); - fclose(f); - if(fork()==0) { - execlp("curl","curl","-s","-k","-u",account,"-T",tempfile, - rlm_urlwrite_urls+256*i,(char *)NULL); - RLMLog(ptr,LOG_WARNING,"rlm_urlwrite: unable to execute curl(1)"); - exit(0); - } - RLMLog(ptr,LOG_INFO,msg); - } - else { - snprintf(msg,1500,"rlm_urlwrite: unable to open file \"%s\"", - rlm_urlwrite_urls+256*i); - RLMLog(ptr,LOG_WARNING,msg); - } - } - } -} diff --git a/apis/rlm/rlm_walltime.c b/apis/rlm/rlm_walltime.c deleted file mode 100644 index 1384b6e4..00000000 --- a/apis/rlm/rlm_walltime.c +++ /dev/null @@ -1,433 +0,0 @@ -/* rlm_walltime.c - * - * (C) Copyright 2016-2018 Fred Gleason - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * This is a Rivendell Loadable Module. It sends Now&Next PAD data to - * to one or more Walltime clock displays as specified in the configuration - * file pointed to by the plugin argument. - * - * To compile this module, just do: - * - * gcc -shared -o rlm_walltime.rlm rlm_walltime.c - */ - -#include -#include -#include -#include -#include - -#include - -int rlm_walltime_devs; -char *rlm_walltime_addresses; -char *rlm_walltime_passwords; -char *rlm_walltime_formats; -int *rlm_walltime_masters; -int *rlm_walltime_aux1s; -int *rlm_walltime_aux2s; -int *rlm_walltime_vlog101s; -int *rlm_walltime_vlog102s; -int *rlm_walltime_vlog103s; -int *rlm_walltime_vlog104s; -int *rlm_walltime_vlog105s; -int *rlm_walltime_vlog106s; -int *rlm_walltime_vlog107s; -int *rlm_walltime_vlog108s; -int *rlm_walltime_vlog109s; -int *rlm_walltime_vlog110s; -int *rlm_walltime_vlog111s; -int *rlm_walltime_vlog112s; -int *rlm_walltime_vlog113s; -int *rlm_walltime_vlog114s; -int *rlm_walltime_vlog115s; -int *rlm_walltime_vlog116s; -int *rlm_walltime_vlog117s; -int *rlm_walltime_vlog118s; -int *rlm_walltime_vlog119s; -int *rlm_walltime_vlog120s; - -int rlm_walltime_GetLogStatus(void *ptr,const char *arg,const char *section, - const char *logname) -{ - const char *tag=RLMGetStringValue(ptr,arg,section,logname,""); - if(strcasecmp(tag,"yes")==0) { - return 1; - } - if(strcasecmp(tag,"on")==0) { - return 1; - } - if(strcasecmp(tag,"true")==0) { - return 1; - } - if(strcasecmp(tag,"no")==0) { - return 0; - } - if(strcasecmp(tag,"off")==0) { - return 0; - } - if(strcasecmp(tag,"false")==0) { - return 0; - } - if(strcasecmp(tag,"onair")==0) { - return 2; - } - return 0; -} - - -void rlm_walltime_RLMStart(void *ptr,const char *arg) -{ - char address[17]; - char section[256]; - char errtext[256]; - int i=1; - - rlm_walltime_devs=0; - rlm_walltime_addresses=NULL; - rlm_walltime_passwords=NULL; - rlm_walltime_formats=NULL; - rlm_walltime_masters=NULL; - rlm_walltime_aux1s=NULL; - rlm_walltime_aux2s=NULL; - rlm_walltime_vlog101s=NULL; - rlm_walltime_vlog102s=NULL; - rlm_walltime_vlog103s=NULL; - rlm_walltime_vlog104s=NULL; - rlm_walltime_vlog105s=NULL; - rlm_walltime_vlog106s=NULL; - rlm_walltime_vlog107s=NULL; - rlm_walltime_vlog108s=NULL; - rlm_walltime_vlog109s=NULL; - rlm_walltime_vlog110s=NULL; - rlm_walltime_vlog111s=NULL; - rlm_walltime_vlog112s=NULL; - rlm_walltime_vlog113s=NULL; - rlm_walltime_vlog114s=NULL; - rlm_walltime_vlog115s=NULL; - rlm_walltime_vlog116s=NULL; - rlm_walltime_vlog117s=NULL; - rlm_walltime_vlog118s=NULL; - rlm_walltime_vlog119s=NULL; - rlm_walltime_vlog120s=NULL; - - sprintf(section,"Walltime%d",i++); - strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15); - if(strlen(address)==0) { - RLMLog(ptr,LOG_WARNING,"rlm_walltime: no walltime destinations specified"); - return; - } - while(strlen(address)>0) { - rlm_walltime_addresses= - realloc(rlm_walltime_addresses,(rlm_walltime_devs+1)*(rlm_walltime_devs+1)*16); - strcpy(rlm_walltime_addresses+16*rlm_walltime_devs,address); - rlm_walltime_passwords=realloc(rlm_walltime_passwords,(rlm_walltime_devs+1)*1024); - strncpy(rlm_walltime_passwords+1024*rlm_walltime_devs, - RLMGetStringValue(ptr,arg,section,"Password",""),1023); - rlm_walltime_formats=realloc(rlm_walltime_formats,(rlm_walltime_devs+1)*8192); - strncpy(rlm_walltime_formats+8192*rlm_walltime_devs, - RLMGetStringValue(ptr,arg,section,"FormatString",""),8192); - rlm_walltime_masters=realloc(rlm_walltime_masters, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_masters[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"MasterLog"); - - rlm_walltime_aux1s=realloc(rlm_walltime_aux1s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_aux1s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"Aux1Log"); - rlm_walltime_aux2s=realloc(rlm_walltime_aux2s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_aux2s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"Aux2Log"); - - rlm_walltime_vlog101s=realloc(rlm_walltime_vlog101s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog101s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog101"); - - rlm_walltime_vlog102s=realloc(rlm_walltime_vlog102s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog102s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog102"); - - rlm_walltime_vlog103s=realloc(rlm_walltime_vlog103s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog103s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog103"); - - rlm_walltime_vlog104s=realloc(rlm_walltime_vlog104s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog104s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog104"); - - rlm_walltime_vlog105s=realloc(rlm_walltime_vlog105s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog105s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog105"); - - rlm_walltime_vlog106s=realloc(rlm_walltime_vlog106s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog106s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog106"); - - rlm_walltime_vlog107s=realloc(rlm_walltime_vlog107s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog107s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog107"); - - rlm_walltime_vlog108s=realloc(rlm_walltime_vlog108s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog108s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog108"); - - rlm_walltime_vlog109s=realloc(rlm_walltime_vlog109s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog109s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog109"); - - rlm_walltime_vlog110s=realloc(rlm_walltime_vlog110s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog110s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog110"); - - rlm_walltime_vlog111s=realloc(rlm_walltime_vlog111s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog111s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog111"); - - rlm_walltime_vlog112s=realloc(rlm_walltime_vlog112s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog112s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog112"); - - rlm_walltime_vlog113s=realloc(rlm_walltime_vlog113s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog113s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog113"); - - rlm_walltime_vlog114s=realloc(rlm_walltime_vlog114s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog114s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog114"); - - rlm_walltime_vlog115s=realloc(rlm_walltime_vlog115s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog115s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog115"); - - rlm_walltime_vlog116s=realloc(rlm_walltime_vlog116s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog116s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog116"); - - rlm_walltime_vlog117s=realloc(rlm_walltime_vlog117s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog117s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog117"); - - rlm_walltime_vlog118s=realloc(rlm_walltime_vlog118s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog118s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog118"); - - rlm_walltime_vlog119s=realloc(rlm_walltime_vlog119s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog119s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog119"); - - rlm_walltime_vlog120s=realloc(rlm_walltime_vlog120s, - (rlm_walltime_devs+1)*sizeof(int)); - rlm_walltime_vlog120s[rlm_walltime_devs]= - rlm_walltime_GetLogStatus(ptr,arg,section,"VLog120"); - - sprintf(errtext,"rlm_walltime: configured destination \"%s\"",address); - rlm_walltime_devs++; - RLMLog(ptr,LOG_INFO,errtext); - sprintf(section,"Walltime%d",i++); - strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15); - } -} - - -void rlm_walltime_RLMFree(void *ptr) -{ - free(rlm_walltime_addresses); - free(rlm_walltime_passwords); - free(rlm_walltime_formats); - free(rlm_walltime_masters); - free(rlm_walltime_aux1s); - free(rlm_walltime_aux2s); - free(rlm_walltime_vlog101s); - free(rlm_walltime_vlog102s); - free(rlm_walltime_vlog103s); - free(rlm_walltime_vlog104s); - free(rlm_walltime_vlog105s); - free(rlm_walltime_vlog106s); - free(rlm_walltime_vlog107s); - free(rlm_walltime_vlog108s); - free(rlm_walltime_vlog109s); - free(rlm_walltime_vlog110s); - free(rlm_walltime_vlog111s); - free(rlm_walltime_vlog112s); - free(rlm_walltime_vlog113s); - free(rlm_walltime_vlog114s); - free(rlm_walltime_vlog115s); - free(rlm_walltime_vlog116s); - free(rlm_walltime_vlog117s); - free(rlm_walltime_vlog118s); - free(rlm_walltime_vlog119s); - free(rlm_walltime_vlog120s); -} - - -void rlm_walltime_RLMPadDataSent(void *ptr,const struct rlm_svc *svc, - const struct rlm_log *log, - const struct rlm_pad *now, - const struct rlm_pad *next) -{ - int i; - int flag=0; - FILE *f; - char tempfile[256]; - int fd=-1; - char url[1024]; - char password[1024]; - - for(i=0;ilog_mach) { - case 0: - flag=rlm_walltime_masters[i]; - break; - - case 1: - flag=rlm_walltime_aux1s[i]; - break; - - case 2: - flag=rlm_walltime_aux2s[i]; - break; - - case 100: - flag=rlm_walltime_vlog101s[i]; - break; - - case 101: - flag=rlm_walltime_vlog102s[i]; - break; - - case 102: - flag=rlm_walltime_vlog103s[i]; - break; - - case 103: - flag=rlm_walltime_vlog104s[i]; - break; - - case 104: - flag=rlm_walltime_vlog105s[i]; - break; - - case 105: - flag=rlm_walltime_vlog106s[i]; - break; - - case 106: - flag=rlm_walltime_vlog107s[i]; - break; - - case 107: - flag=rlm_walltime_vlog108s[i]; - break; - - case 108: - flag=rlm_walltime_vlog109s[i]; - break; - - case 109: - flag=rlm_walltime_vlog110s[i]; - break; - - case 110: - flag=rlm_walltime_vlog111s[i]; - break; - - case 111: - flag=rlm_walltime_vlog112s[i]; - break; - - case 112: - flag=rlm_walltime_vlog113s[i]; - break; - - case 113: - flag=rlm_walltime_vlog114s[i]; - break; - - case 114: - flag=rlm_walltime_vlog115s[i]; - break; - - case 115: - flag=rlm_walltime_vlog116s[i]; - break; - - case 116: - flag=rlm_walltime_vlog117s[i]; - break; - - case 117: - flag=rlm_walltime_vlog118s[i]; - break; - - case 118: - flag=rlm_walltime_vlog119s[i]; - break; - - case 119: - flag=rlm_walltime_vlog120s[i]; - break; - } - if((flag==1)||((flag==2)&&(log->log_onair!=0))) { - strncpy(tempfile,"/tmp/walltimeXXXXXX",256); - if((fd=mkstemp(tempfile))>0) { - f=fdopen(fd,"w"); - if(now->rlm_len==0) { - fprintf(f," "); - } - else { - fprintf(f,"%s\n", - RLMResolveNowNextEncoded(ptr,now,next,rlm_walltime_formats+8192*i, - RLM_ENCODE_XML)); - } - fclose(f); - snprintf(url,1024,"http://%s/webwidget", - rlm_walltime_addresses+16*i); - snprintf(password,1024,"user:%s",rlm_walltime_passwords+1024*i); - if(fork()==0) { - execlp("curl","curl","-u",password,"-o","/dev/null","-s","-T", - tempfile,url,(char *)NULL); - RLMLog(ptr,LOG_WARNING,"rlm_walltime: unable to execute curl(1)"); - exit(0); - } - RLMLog(ptr,LOG_INFO,"rlm_walltime: sending pad update!"); - } - } - else { - RLMLog(ptr,LOG_WARNING,"rlm_walltime: unable to create temp file"); - } - } -}