📄 history3.html
字号:
If smsd has no write access to the file, it tries to get it using chmod 766. </p></li></ul></p><p>Bug fixes:<ul> <li><p>Command line argument <i>-t</i> had no effect. This <i>terminal</i> mode is useful when running smsd under Cygwin as a Windows service as it prevents one error message. </p></li> <li><p>In QNX, the OS libraries include already an unlock() function, causing a name conflict. The unlock() function of smsd is therefore renamed. </p></li></ul></p><p><a href="http://smstools3.kekekasvi.com/packages/">Download</a></p><hr><p><b>06.07.2007 3.0.9</b><br></p><p>General:<ul> <li><p>Minor changes to the PDU checking. <ul> <li>An incorrect sender number produces only a warning. </li> <li>It now shows error position in the message file. </li> <li>All possible data is checked (unused too) to detect invalid characters and a broken and/or incompatible PDU. </li> </ul> </p></li> <li><p><i>Replace:</i> usage is ignored while sending multipart message. </p></li> <li><p>Character set conversion now converts incoming "currency symbol" (0x24 GSM) to € character (0xA4 ISO). This can easily be changed in top of charset.c if necessary (should not be any reason).<br> The smsd does not send 0x24 while messages are written using ISO/UTF-8 character set. </p></li> <li><p>Documentation is updated. Sample configuration files are not, see the <a href="configure.html">How to configure</a> for details of new features. </p></li></ul></p><p><b>NOTE</b> for users running smsd with very heavy load:<ul>Current version of smsd moves files between spooler directories using the original file name. If outgoing files are created using a fixed filename (which is not recommended) and lot of files using the same name are created within a short period, it's possible that previous file and it's .LOCK file are still existing in the spooler directory. In this case a new file cannot be moved to the spool. Previously the smsd stopped with a fatal error in this case. Now an alarmhandler is called and after it has returned a file moving is retried. If a file still cannot be moved, the smsd will stop with a fatal error.<br> <br> The alarmhandler can be used to help with a file moving conflict. The script can wait until a spooler can be used, or it can wait some fixed time like 5 seconds. It can also produce some notices to the administration, if necessary.<br> <br> In some cases this kind of conflict is a result of a previously happened error in the system which creates outgoing files to send. In this case it's better to let smsd stop, instead of sending couple of thousand messages to somewhere...<br> <br> In the conflict case the alarmhandler will get following arguments (as an example): <ul> <li>$1=ALARM </li> <li>$2=2007-07-06 </li> <li>$3=12:00:00 </li> <li>$4=2 </li> <li>$5=smsd </li> <li>$6=Conflict with .LOCK file in the spooler: /var/spool/sms/outgoing/test_file /var/spool/sms/checked </li> </ul></ul></p><p>Thank's for all users who have provided feedback, idea's, code and fixes.</p><p><a href="http://smstools3.kekekasvi.com/packages/">Download</a></p><hr><p><b>28.06.2007... 3.0.9beta2</b><br></p><p>General:<ul> <li><p>All incoming PDU's are checked comprehensively. If there is some illegal values in the content or illegal characters in the string or some characters are missing, a problem is reported and handling of a broken PDU is aborted. However, all possible junk cannot be detected because the PDU does not have any checksums. <ul> <li>In case of errors a new header <i>Error: explanation</i> is printed to the message file. With existense of this header it's easy to detect that there is no usual message content in the file. Text part will tell more details of errors found. </li> <li>In the successfully processed message file there can be one or more <i>Warning: explanation</i> headers telling that some minor issues has detected, but the message is still processed. </li> </ul> </p></li> <li><p>If an incoming PDU does not match to the <i>mode</i> setting defined in the smsd.conf file, alternative mode is tried before error is reported and handling is aborted. This means that the mode setting is now automatic for PDU's of incoming messages. Note that the outgoing side works like before and you have to use correct mode -setting in the configuration file. </p></li> <li><p>Number of devices is increased to 64. </p></li> <li><p>While reading a PDU from file, a first line starting with PDU: and space is taken if any exists. </p></li> <li><p>There is a simple script <i>smstest.php</i> included in the scripts directory. This script can be used to create sms files using a web browser. The script demonstrates a character set conversion made with PHP and can be used for testing purposes. </p></li> <li><p>Installation / uninstallation: path of executables can now be defined in the Makefile. </p></li> <li><p>Startup check: permission check for executable scripts is changed. Previously this check required mode 750 for scripts. Now owner and group settings are examined and permission is checked like a shell does. </p></li> <li><p>International Mobile Subscriber Identity (IMSI) is asked once from the modem when it's first time initialized. If a device supports this query, information is printed to each incoming message file as a new header: <i>IMSI: 123456789</i>. <br> This header is also inserted to sent and failed files. </p></li> <li><p>Running as an unpriviledged user: if <i>user</i> is set but <i>group</i> is unset, that user's normal groups (e.g. from /etc/groups) are used. This means you can allow other users on the system access to write messages to the outgoing spool without giving them direct access to the serial port. </p></li> <li><p>When finding files from the spooler directories, the oldest file is selected. </p></li> <li><p>If a file in the spool directory cannot be handled because of file mode or ownership, error message is printed to the log and alarm handler is called. As soon as the problem is fixed, a file is processed normally. If a file is deleted (outside of smsd), the smsd forgets past problems with it and in the future a file with the same name is processed as usual. </p></li></ul></p><p>Outgoing message file:<ul> <li><p>New header: <i>Replace: code</i>. Code can be a number from 1 to 7. If a receiving device and SIM supports "Replace Short Message Type n" -feature, a previously received message with the same code is replaced with a new message. Only the messages sent from the same originating address can be replaced. If there is nothing to replace, a message is stored in the normal way.<br> Note that the smsd does not use this value while sending concatenated (multipart) message. This is because some phones do not understand concatenated message as a single message and therefore a previously received part might become overwritten if a replace code is used. </p></li> <li><p>SMSC setting is allowed only if there is a smsc set in the config file. </p></li></ul></p><p>Incoming message file:<ul> <li><p>New header: <i>From_TOA: string</i>. Includes a Type Of Address definition with short explanation, like: "From_TOA: 91 international, ISDN/telephone". </p></li> <li><p>New header: <i>Report: yes/no</i>. Tells if a status report is going to be returned to the SME. </p></li> <li><p>New header: <i>Replace: number</i>. This header is included if a message has a Replace Short Message Type 1..7 (number) defined. </p></li></ul></p><p>Configuration file (smsd.conf):<ul> <li><p>Setting: <i>pdu_from_file = filename / dirname/</i> is slightly enhanced. The original setting style will work when it points to the file which is read and then deleted. If this setting ends with a slash and a directory with that name exists, file(s) are read from this directory (and deleted after processing). All files found from the given directory are processed one by one, expect hidden files (name begins with a dot). When this setting points to the directory, no dot's are allowed in any position of a path. Be very careful with this setting while it will delete the content of a whole directory. </p></li> <li><p>New setting: <i>log_charconv = yes/no</i>. Default is <i>no</i>. With this setting a details of character set conversions (outgoing UTF-8 to ISO conversion and incoming GSM/ISO to UTF-8 conversion) is printed to the log. If smsd is compiled using DEBUGMSG definition, details are also printed to the console. Logging feature can be useful if you have some troubles with characters and like to know what exactly happens inside the smsd. </p></li> <li><p>New setting for a modem: <i>modem_disabled = yes/no</i>. Default is <i>no</i>. This is for testing purposes. Whole messaging system including eventhandlers etc. can be tested without any working modem existing. Sending of messages is simulated in the similar way than with <i>sending_disabled</i> setting. Incoming messages are taken only from the file, if <i>pdu_from_file</i> is defined. No any communication is made between smsd and modem, but a device setting should still exist because smsd wants to open and close a device. If in you testing environment you do not have a priviledges to the usual modem device, like /dev/ttyS0, you can use a definition like <i>device = /tmp/modemfile</i>. If this file exists and is writable for the process owner, it's enough for smsd. </p></li> <li><p>Startup check will now report if there is a queue defined but no provider numbers for it. </p></li> <li><p>New global setting: <i>store_sent_pdu = value</i>. Default is <i>1</i>. Possible values are: 0 = no PDU's are stored, 1 = failed (to send) PDU's are stored, 2 = failed PDU's and PDU's of binary/Unicode messages are stored, 3 = all PDU's are stored. </p></li> <li><p>Validity period setting now accepts keywords typed mixed/upcase. Keyword can now be given without any numbers, like <i>month</i> means the same than <i>1 month</i>. This same applies to the outgoing message files. When the smsd is started, a validity period setting is reported to the log if the setting used is less than maximum. </p></li> <li><p>Each provider can now have up to 64 numbers defined. </p></li> <li><p>Queue, provider and device/queues settings are checked. If there is too much definitions, an error message is displayed and the daemon does not start. </p></li> <li><p><i>stats_interval</i> defaults to 3600 (1 hour). </p></li> <li><p>New setting: <i>blockafter = number</i>. Defines number of errors which will cause modem to be blocked. Default value is 3. </p></li> <li><p>New setting for a modem: <i>outgoing = yes/no</i>. Default is <i>yes</i>. If set to <i>no</i>, a modem does not handle any outgoing message(s). </p></li></ul><p>Bug fixes:<ul> <li><p>The smsd accepted definition of providers only if it was written as [provider] in the configuration file. Now singular/plural does not matter anymore, you can use [provider] or [providers]. This same applies to the queues: both definitions [queue] and [queues] are accepted. </p></li> <li><p>When alphanumeric senders had length more than 9 characters, garbage was appended to the sender's name. </p></li> <li><p>Setting of validity period did not accept clean numeric value, like 204 (for 12 weeks). An error message was produced and a default value (maximum possible time) was used. Validity setting also calculated some values incorrectly, like "3 months" produced a maximum time (63 weeks). </p></li> <li><p>SMSC setting in the message file did not work. However, usually this setting should not be used. </p></li></ul></p><hr><p><b>20.06.2007 3.0.9beta</b><br></p><p>Outgoing message file:<ul> <li><p>When sending ISO coded message, all characters which cannot be transferred using the GSM character set are replaced with their alternatives. For example
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -