* bin/3rdpatch.hb
* contrib/make.hb
* changed to be executed by hbmk2
- contrib/hbrun/extdyn.prg
- contrib/hbrun/hbrun.prg
- contrib/hbrun/hbrun.rc
- contrib/hbrun/headers.prg
- contrib/hbrun/p_ext.hb
- contrib/hbrun/plugins.prg
* contrib/hbrun/hbrun.hbp
% changed to use hbmk2 sources and make file to build hbrun,
implementing the build method described in previous ChangeLog
entry. The lost feature is netio management plugin, which
is now not loaded by default. Plus, since this is a static
build, dynamic extensions don't work.
* contrib/make.hb
* src/pp/ppcore.c
* deleted reference to hbrun in comment
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* contrib/hbnetio/utils/hbnetio/netiomgm.hb
* __hbrun_plugin() -> __hbshell_plugin()
* INSTALL
* minor in previous change
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
- contrib/hbnetio/utils/hbnetio/netiomgm.prg
+ contrib/hbnetio/utils/hbnetio/netiomgm.hb
* renamed hbrun/hbmk2 shell plugin code to .hb extension
* contrib/hbnetio/utils/hbnetio/netiosvc.prg
! added missing copyright and SVN ID header
* utils/hbmk2/hbmk2.prg
+ documented '.' parameter on -help screen.
; With this, hbmk2 has all the features of hbrun. Except:
- it doesn't contain the selection of statically linked
contribs:
hbct, hbxpp, hbexpat, hbmemio, hbmzip, hbnetio, hbunix, hbwin
These can now be loaded on-demand, f.e. by speccing
them in envvar HB_EXTENSION, from shell prompt or
#require directive, etc
- it doesn't contain the 'hbnetio management console' shell
plugin.
It now can be loaded by copying /contrib/hbnetio/utils/hbnetio/netiomgm.hb
to <home>/.harbour/.
It means hbmk2 can now be used to:
- convert Harbour source code to various kind of executables/binaries
- run Harbour source code directly
- serve as an interactive Harbour prompt/shell.
; As a next steps, HB_BUILD_CONTRIB_DYN may be enabled by
default, hbrun be deleted and hbmk2 renamed to f.e. simply 'hb'.
; Needs testing on non-Windows envs
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbrun/plugins.prg
- deleted .hbs script support from places where it was
unlikely to be used in the wild
* contrib/hbide/ideplugins.prg
* changed to support .hb extension for plugins instead of
.hbs (plus, same applies as above0
* config/postinst.hbs
* implemented same ASORT() fix as in prev commit by Przemek.
(it may be important once we modify hbrun/hbmk2 to run
scripts under UTF8 CP)
* contrib/hbnetio/utils/hbnetio/modules.hbp
- contrib/hbnetio/utils/hbnetio/rpcdemo.hbs
+ contrib/hbnetio/utils/hbnetio/rpcdemo.hb
- contrib/hbide/plugins/hbide_script_qtgui.hbs
+ contrib/hbide/plugins/hbide_script_qtgui.hb
- contrib/hbide/plugins/hbide_plugin_savebackup.hbs
+ contrib/hbide/plugins/hbide_plugin_savebackup.hb
- utils/hbmk2/examples/plug_tpl.hbs
+ utils/hbmk2/examples/plug_tpl.hb
- tests/stripdoc.hbs
+ tests/stripdoc.hb
* .hbs -> .hb for Harbour scripts.
* tests/stripdoc.hb
+ use directry.ch
* utils/hbmk2/hbmk2.prg
* .hb? input make files are now considered with UTF8 encoding.
+ enabled full UTF8 CP on *nix systems. EXPERIMENTAL.
* debian/copyright
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.prg
* contrib/hbpost.hbm
* contrib/hbnetio/utils/hbnetio/modules.hbp
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbqt/hbqt_common.hbm
* contrib/hbide/ideedit.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbrun/hbrun.prg
* contrib/hbrun/plugins.prg
* config/postinst.hbs
* COPYING
+ added support for .hb extension for Harbour scripts.
I plan to make a full switch to .hb from .hbs.
* src/3rd/pcre/Makefile
+ enabled UTF8 support in PCRE (binary size overhead ~150KB)
+ enabled unicode properties support in PCRE (binary size overhead ~50KB)
* src/rtl/hbregex.c
+ added commented logic to detect UTF8 support in PCRE
and enable UTF8 mode when the HVM CP is also UTF8. Latter
logic is missing yet and subject to review.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* contrib/hbnetio/utils/hbnetio/netiomgm.prg
* contrib/hbrun/hbrun.prg
* tests/ac_test.prg
* tests/ac_test2.prg
* tests/tstmacro.prg
* tests/tstalias.prg
* formatted using automatic tools
* contrib/hbmysql/utils/hbmk.hbm
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetioq/hbnetioq.hbp
* contrib/hbformat/utils/hbformat.hbp
+ removed relative path from .hbc references
* utils/hbmk2/hbmk2.prg
+ show warning when referenced .hbc file could not be found
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiosvc.prg
+ use latest hbwin/wapi capabilities to install service thus
allowing to change back the default run mode to interactive
+ install service as auto-start
+ added Windows service related option to cmdline help screen
+ display textual error msg on service related errors
! minor typo in an error msg
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqtcore.hbx
- deleted HBQT_FINDCHILD(). it used raw pointer. was used by hbqtuitools.
% deleted unused extern.
* package/winuni/mpkg_win_uni.bat
* contrib/hbnetio/utils/hbnetioq/hbnetioq.hbp
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqt_all.hbp
- contrib/hbqt/tests/QtUiTools.txt
- contrib/hbqt/qtuitools
- contrib/hbqt/hbqtuitools.hbc
* contrib/hbide/hbide.hbp
- deleted dynamic UI loading. it had too many hopeless TOFIXes
and it required raw pointers. and a lot of bloat.
Should be reimplemented by loading and processing .ui files
manually.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ contrib/hbnetio/utils/hbnetio/netiosvc.prg
+ hbnetio will act as a service on Windows platform.
To run it interactively from console, use: 'hbnetio -a'
; TOFIX: I'm getting 'error 1067' when starting up the
service. It get resolved when I build hbnetio in
-st mode. (I use mingw and did a full rebuild)
* contrib/rddads/rddads.hbp
! Suppressing annoying mingw warning in ace.h.
; TOFIX: hbmk2 overrides this ATM.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbformat/utils/hbformat.hbp
* contrib/hbrun/hbrun.hbp
- Deleted nxcompat (and friends) flags from local .hbp files.
They are enabled by config/hbpost.hbm, in more precise manner.
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
- Deleted also from here. (These .hbp files are not used
by core make.)
+ contrib/hbrun/hbrun.rc
+ Missed from prev commit.
! Enable mft/ver features only for msvc, bcc and mingw, the
rest will die various deaths.
* package/harb_win.rc
* Tweak a little to not cause most RC to die.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbrun/hbrun.hbp
* Enabled security options only on win platform.
* contrib/hbrun/hbrun.hbp
+ Added msvcarm option to avoid fatal compiler error in headers.c.
* contrib/hbrun/hbrun.prg
* contrib/hbrun/hbrun.hbp
+ contrib/hbrun/plugins.prg
+ Added plugin support.
+ Added hbnetio management console to hbrun, as plugin.
Use: "netio.<command> <params>" format to access it.
Or enter netio command domain with ".netio" and use
regular netio commands. Exit netio command domain with
"." command.
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* contrib/hbplist
- Stdalone hbnetio management console is not built or
included in distro anymore. Use hbrun.
* contrib/hbrun/hbrun.prg
* contrib/hbrun/hbrun.hbp
+ contrib/hbrun/headers.prg
* Moved headers to separate file.
* contrib/hbrun/pullext.prg
* Minor.
* contrib/hbnetio/utils/hbnetio/netioeng.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* Renamed entry function for console plugin.
+ contrib/hbnetio/utils/hbnetio/netioeng.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* contrib/hbnetio/utils/hbnetio/netiocmd.prg
+ netio management client-side command handling moved to
a separate module and rewritten to act as a command
handler plugin. This makes it possible to move the
whole logic inside console hosts, f.e. hbrun.
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Accepting notification events coming from the server
in a separate thread, so now they are realtime-ish
(it's poll). It's little rough around the edges yet.
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
+ Enabled MT mode also for console client.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Send out 'shutdown' notifications to mgmnt clients.
* ChangeLog
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
! Set netio root data dir to 'data' subdir by default to
avoid overwriting anything in the daemon's own
directory (f.e. its settings)
! Set netio root data dir to invalid dir name ("*?:*?:")
to prevent management clients to create any files
on server. QUESTION: Is there a better way to prevent
RDD I/O redirection for given server session?
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
! Enabled: "Stop" a connection, either via toolbar icon or
context menu on a connection row in the browser.
% Fixed: to refresh browser every 3 seconds.
* src/common/hbverdsp.c
+ Instead of adding "(UNICODE)" marker in build info for UNICODE
builds, now it will add "(WINANSI)" for non-UNICODE builds.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* Using more hb_StrFormat()
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* Tweak to one cmd help.
* utils/hbrun/hbrun.prg
* Formatting.
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
! Ebnabled to get information from netiosrv daemon.
Currently only connections info. Time interva to refresh
browser is 10 seconds currently. Still a lot to be
implemented based on latest features of netiosrv daemon.
A work-in-progress.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
- Deleted filtering on client host name.
* contrib/hbnetio/utils/hbnetio/netiocon.prg
! Fixed RTE when there were no notifications.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Reworked and reenabled host name based filtering.
NOTE: Host name lookup is not implemented for win platforms
in hbsocket.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Resolved remaining TODOs regarding client notifications.
+ Added automatic deletion of (abnormally) disconnected clients
from notification list.
* Commented filter code dealing with host names until we find
out how to get those from IP.
* contrib/hbhttpd/core.prg
! English translation of one word.
* contrib/hbformat/hbformat.prg
! Added missing ASCAN() from list of functions.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Implemented notifications to management clients about
server side event, curently connection/disconnections.
Quite many TODOs are left, and since the console client
is ST yet, the display of server events is done after
processing a console command.
F.e. a GUI client can use such information to refresh
list of clients.
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
* Cleanups.
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
* Roughly reworked to act as management client UI.
I didn't touch any GUI logic.
+ Accept server port and password in ini file, which
is now named 'hbnetioq.exe.config'. This can also
be extended and fine tuned at will.
; To test, run it like the console client, f.e.:
hbnetio -adminpass=toptopsecret
hbnetioq -pass=toptopsecret
; NOTE: Only one RPC call is implemented, pls fill the rest,
plus some periodic refresh would have to implemented
for the browse. Pls see
contrib/hbnetio/utils/hbnetio/netiocon.prg
for possible RPC commands and returned values.
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
! Fixed casing in #include lines.
Please remember that case-sensitive file systems exist.
Patch by Tamas.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Added GPL license.
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
+ Added GPL license. (once the server code is
deleted and only the UI remains, this should
be updated)
* contrib/make.hbs
! Fixed to not define _HB_BUILD_ when doing a custom build
(explicitly passed .hbp file) in stdalone mode.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Enabled keepsort on the saved configuration hash.
* contrib/hbhpdf/harupdf.c
- Deleted wrapper to HPDF_PDFA_GENERATEID(), what rather seems
an internal function.
* Tweaked previous fix to HPDF_PDFA_SETPDFACONFORMANCE(), so that
now it's included in dynamic builds, just returning dummy result.
Still a pending TOFIX though, as it's not right that dynamic
and static version of the same lib works differently. Any tips
which way to choose? It would be great asking libharu developers
about whether HPDF_PDFA_SetPDFAConformance() is meant as a
public function.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Added RPC and console command to save filters.
They will be reloaded automatically when starting
up the server daemon.
* ChangeLog
! Fixed previous entry header.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Keep order of filter lists.
* utils/hbmk2/hbmk2.prg
! Use _hbmkcpp_<cFirstFile>.cpp (instead of _hbmkcpp.cpp) on
non MS-DOS platforms.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Added console commands to add/remove filters.
+ Added rpc and console commands to list filters.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Added client address filtering engine for both data and
management interface. It will do quick match against
IP, then wildcard match against IP, then quick host name match,
wildcard hostname match. Block filter has priority over
allow filter. It's possible to control via management RPC,
console UI not yet extended to use it. A lot of other
TODO is quickly generated by this feature, f.e. making
settings persistent, supporting IP subnet masks, etc.
I didn't test this at all, pls do.
* src/rtl/strmatch.c
! Typo in comment.
* contrib/hbnetio/utils/hbnetioq/hbnetioq.hbp
+ contrib/hbnetio/utils/hbnetioq/manageips.ui
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
* contrib/hbnetio/utils/hbnetioq/netiosrq.qrc
+ contrib/hbnetio/utils/hbnetioq/refresh.png
+ Implemented: activate/deactivate banning IPs from connecting
to server. This implementation provides for the -ini=cINIFile
command line switch. <cINIFile> contains the info about IPs.
User-interface to manage activations is via toolbar button
which allows to <Add><Delete><Save> IPs and also to flag
to activate/deactivate IPs on-the-go.
TODO: take use of console daemon by separating the user inetrface.
Hopefully by next week.
* contrib/make.hbs
+ Defined _HB_BUILD_=yes to tell .hbp files we're building
for a Harbour build.
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
* contrib/hbformat/utils/hbformat.hbp
+ Tweak to not build in -shared mode when directly building
the .hbp file (and not as part of Harbour build).
* contrib/hbnetio/utils/hbnetioq/hbnetioq.hbp
* contrib/hbide/hbide.hbp
+ Added tweak to build in shared mode when building as
part of Harbour build. This will make the distro size
noticeably smaller.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Show server config feature converted to client-server.
* contrib/hbplist
+ Added hbnetioc to tools automatically built.
This is management console for hbnetio deamon.
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
* Tweak to build hbformat in shared mode for
win/wce/os2 systems.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetio/hbnetioc.hbp
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ contrib/hbnetio/utils/hbnetio/netiocon.prg
- contrib/hbnetio/utils/hbnetio/netiocui.prg
+ contrib/hbnetio/utils/hbnetio/netiocmd.prg
+ Split netiocui.prg into cmdline tool and
console logic. The latter is now used by both
the daemon tool and cmdline tool.