Notes:
0.9.1
REFACTURING:
* Extracted common code to a library (smsconlib.py) which is now used by
smscon_daemon, smscon control program and smscon-editor.
* Added a lot of code comments.
* Encapsulated many code into classes. E.g. the complete encyption stuff
is now transparent to smscon control program and smsmcon editor.
* Restructured code, written new and renamed a lot of old stuff.
* Moved code from files "smscon" and "smscon_daemon" to pure
python-modules (smscon_master.py and smscon_service.py respectively).
The original files are now just jackets calling main() in associated
python module. This allows to compile the modules and hiding source code.
NEW: Encryption now uses salt (formerly encrypted data can be read).
FIX: Encryption does no longer fail on text ending with curly open brace.
NEW: "MASTERNUMBER" concept: A SMS number stored in the config file that
does NOT change due to SMS commands like "SENDERNUMBER" does.
Each SMS is send to both (only once if they are the same numbers, of course).
SMS replies to commands which are not introduced by SMS (e.g. via CHECKHOST)
are sent to the MASTERNUMBER only.
On upgrading, the default MASTERNUMBER is set to the current SENDERNUMBER.
NEW: "COM_CUSTOMLOG" command: A SMS command to retreive the output of the last
"COM_CUSTOM" command. Will be sent via email only - would send too much SMS...
NEW: "COM_LOG" command: A SMS command to retreive the smscon.log file.
Will be sent via email only - would send too much SMS...
NEW: The output of "COM_SHELL" SMS command is now sent as a command reply.
You may have to remove output redirections from your shell command to
get non-empty reply.
NEW: "SMS_PARTS_LIMIT": A number to limit the number of single SMS that would
otherwise be generated to send a too long SMS message. Zero means no limit.
NEW: "LOG_TIMEFORMAT": Format to be used in time stamps of SMS and EMAIL messages.
NEW: "SMS_COMPREFIX" and "SMS_COMSUFFIX": Instead of explicitly define
all your SMS control commands (COM_xxx) to start with a unique prefix
and/or suffix, you might now separately define a prefix and/or suffix
that is implicitely used. While "SMS_COMPREFIX" and "SMS_COMSUFFIX" are
empty, all your commands do as in older versions.
Advantage of using "SMS_COMPREFIX" and "SMS_COMSUFFIX":
* Prefix and suffix can be changed easyly while embedded COM_xxx remain unchanged.
* Prefix and suffix apply to COM_SHELL command as well. Example:
With the configuration set to:
COM_SHELL=uptime
SMS_COMPREFIX=aaa.
SMS_COMSUFFIX=.bbb
The recognized SMS command to execute the shell command "uptime" is:
aaa.uptime.bbb
FIX: It is no longer possible to define two SMS commands as the same string except
the empty string, which means to disable that command being given via SMS.
FIX: SMS command recognition is no longer restricted to ASCII characters.
The complete GSM 7 bit default alphabet may be used now (but not unicode).
This gives you a greather variete of chars to use for your SMS commands.
NEW: The config file will now upgrade automagically from any previous version.
New options are set to their default, obsolete options are commented out.
NEW: New function to export and import settings to/from arbitrary file.
(see smscon -export and -import options). smscon editor makes
now use of this functions to retrieve a and deploy editable configuration.
NEW: The smscon_daemon does no longer need to be restarted explicitly if
smscon changes a setting. The daemon detects changes automagically and
will read and apply the new configuration automatically.
NEW: The smscon_daemon now maintains a "last known good" configuration and uses
that as a fallback in case the "official" configuration of smscon can't
properly loaded by the deamon.
NEW: Camera picture and GSP Location requests do no longer force unconditional
switching to GPRS network connection. The current connection will be used
if the internet is reachable.
Should a GPRS connection be required to reach internet, the GPRS
connection is established but the previous network is re-activated
after picture and/or location has been replied.
NEW: A LOGGER is now used wherever possible. So the smscon.log file becomes
really interesting.
NEW: The "CHECKHOST" URL is now extended by "?LASTMCD=nn&CHECKTIME=minutes"
which will allow the URL being a script that may use this information.
CHANGE: "CHECKHOST" now works more clear as follows: While polling for
commands, a command is executed once, if it differs from the
last polled command. The last polled command is initialized
to "-1" on daemon start. Code "-1" is "restart daemon" and
this obviously is what happened on daemon start.
Code "17" (COM_RESTART) is deprecated as a CHECKHOST command.
Since it is different from "-1" it may restart the daemon repeatedly.
Use code "-1" to restart the daemon via CHECKHOST instead. Of course,
before a change to code "-1" is recognized by the daemon, you must
have give it a different command code. If in doubt use "01" (COM_CHECK)
because it gives you feedback that the command has been seen.
CHANGE: "CHECKTIME" may now be a float to specify fractional parts
of a minute: 0.25 is 15 seconds.
NEW: The "CHECKHOST" URL may now have a protocol prefix and it may be
different from "http://". If the URL has no protocol prefix, then
"http://" is supplied as default as in former versions (e.g. your
config file remains valid in this point as well).
NEW: The battery status is logged before a command is about to be executed.
NEW: "REMOTELISTENIP", "REMOTELISTENPORT" and "REMOTE2LOCALPORT": These
settings give you greather flexibility of setting up a tunnel to
remote control your phone via a reverse ssh-connection:
Use "REMOTELISTENIP" and "REMOTELISTENPORT" to define the tunnel
entry maintained by the remote ssh-server (which must be setup to
allow setting LISTENIP and PORT this way).
"REMOTELISTENPORT" defaults to 8080 and "REMOTELISTENIP" defaults
to "localhost" as in former versions. With these defaults you must
be logged in at the ssh-server to start a remote control connection
of your phone. While setting up "REMOTELISTENIP" you may even
control the phone from somewhere else (in which case the ssh-server
act as a proxy or relay). On the tunnel exit side, which is on your
phone, the "REMOTE2LOCALPORT" is the port number where your phone's
ssh-daemeon is listening (usually 22).
CHANGE: The "smscon -devconfig" command now requires a password to show the
uncrypted configuration. The MASTERNUMBER is the password.
NEW: "RESENDMAXTRY": This option defines the maximum number of message
re-send tries. Applies to SMS and EMAIL as well. (0=no limit)
On configuration upgrade this is initialized to 10.
NEW: smscon now has a -sendsms option to send SMS immediately.
Despite being a nice feature by itself, it makes smscon editor
independent from smssend program which requires an extra package.
Changes:
|