|-+------+---------| |-----------------------------------------| 2.5.7/3 WIN32 REMOVED Connectd neeeds windows sockets 2; this should be standard on NT4/SP4+, WIN98+ and is availble separately anyway. WIN32 FIXED Fixed problem with wait failed: 'invalid handles' espp and connectd generally locking. {Everytime a thread was run espp would close an extra handle.} FIXED Connectd won't try and allocate a blocked link. FIXED Connectd was rejecting 'connect answered' with 'not dialing'. (Reversed logic in Link::got_answered.) FIXED Connectd properly initialises the link when built with --disable-multiple-links, and allows the link to be set from the config file. WIN32 CHANGED Rewrote the RAS state engine to accomodate new model. WIN32 [no-]allow-hangup-before-connected controls whether connectd will try and hangup the modem before its connected. On ME, with no modem, this locks. WIN32 CHANGED RasHangup is run in a separate thread so it *never* blocks (i.e. connectd freezes waiting for it). WIN32 REMOVED All the external signals ('connect up' etc...) have been disabled. WIN32 ADDED Added Flags no-w2k-ics no-safename no-rascn-disconnection WIN32 ADDED If the config file contains ras-connection then that's the name of the the dialup connection connectd creates. It overwrites the existing connection and its not deleted when connectd exits. Under Win 9X the default is "DO NOT USE (connectd)" but set it to "" for the previous behaviour. This allows ICS to be setup. WIN32 CHANGED If there is an 'ras-connection ' connectd checks it against \\HKLM\System\CurrentControlSet\Services\ICSharing\Settings\General\DialupEntry if this key isn't connectd isssues a warning; if it is it ensures \\HKLM\System\CurrentControlSet\Services\ICSharing\Settings\General\DialOnDemand is "0". espp FIXED 'connect -X config' could take out connectd; {Changed _Array::ensure(uint) to zero newly created items; Deleted Array<>::ensure(uint)} 2.5.7/2 FIXED ./configure spots and setups connectd for KDE3. [John Cout FIXED Connectd checks for permission to open a provider before prompting for provider details. N.B. There are still certain situations where you can get "no permission" after having been prompted for details. (e.g. if you wait half an hour, or a day or something...). [R: Fausto] FIXED Connectd was transmitting the providers list twice when a provider was deleted. {The erroneous location was capable of causing interesting bugs.} [R: Fausto] FIXED ISP_xxx env vars are set under all their aliases, so for instance ISP_MAIL and ISP_SMTP are both the same value. CHANGED For ISDN ONLY if there are no providers connectd creates an implicit one, called "The Internet", equivalent to start isdnctrl dial %L stop isdnctrl hangup %L CHANGED When 'adsl' given in config file, default link is eth1 and the default exec script is set to something which might run ADSL. (needs pppoe). FIXED Connectd doesn't fork+exec the custom authscript if it's null. [R:Giuseppe ] FIXED Failure by the custom auth script is logged as part of 'ruser-src' rather than debug. [R:Giuseppe ] FIXED The CCL was being abused with ./configure --enable-unlimited-providers [R:Fausto] (Missing DynamicBitset::operator|=(Dbit);) Proto CHANGED Removed silly '-I ' interface name for link messages. proto FIXED If the interfacename is non null, connectd will accept it as an alias for the link name. FIXED readme.txt and ./configure disagree which option disables the CCL; it's now --disable-ccl (all lower case). unix CHANGED Under unix link names are restricted to '[link:][/dev/]'. must be non-null, composed only of [A-Za-z0-9_/]+ and cannot begin with a '/'. Previously it could be prefixed 'link:' _or_ '/dev/' and any-character was allowed in the name, including a link called "". A lot of these restrictions are artificial, though having a link called "" can only be confusing, surely? ADDED Providers support the field 'link'. This field must match the name of the link being opened or connectd won't open the provider. (Except as below.) ADDED If the link is '' (name includes angle-brackets) then connectd uses the device named in 'link' line of the provider, providing its valid and doesn't conflict with an existing link. This is a bit like a symbolic link, allows one "logical" link built of several "physical" links. [R:Sanya] "FIXED" Once its read the symbolic a symbolic link for a device (e.g. /dev/modem) that's the name it passes to the open/close script. Previously it continued to use symbolic link. FIXED If the open request failed in someway, and the provider chosen wasn't in use, connectd could delete the provider. [R: Fausto] ADDED If a provider doesn't give a tarif, connectd strips all spaces from the phonenumber and then compares this with all tarifs ending in a '*' (excluding the '*'). The longest match is used as the tarif. e.g. if /etc/connect/tarifs contains "0800*" { # freecall ;-) 0 } Then phonenumbers beginning 0800 will use this tarif. When instancing a provider with wildcarded phonenumber, connectd does this even if the tarif is set for the template provider (maybe wrong?) and uses the template's tarif as a default if it can't make a match. FIXED Fixed a number of compile issues with various options for ./configure [R: Fausto, Altarius] FIXED connect was requesting the users table in addition to getting the providers list etc... {missing break} FIXED 'connect -X'/'connect -x'' work again. [Broke during 2.5.7.] FIXED 'connect provider' works again. [Broke 2.5.7] 2.5.7/1 FIXED My "clever" install script would set the permisions of all files in /etc/connect... (Sorry.) FIXED Stopped connectd hanging when it exits. (Sorry.) FIXED Providers weren't exporting inherited ISP_xxx vars. Particularly noticable on providers with wildcarded phone numbers. [R: Fausto] FIXED Wildcarded providers weren't inheriting from their template; e.g. they would use the timeouts in the config file not in the provider. ADDED In /etc/connect/config you can do link { } is a full provider defintion. Currently any provider option is legal; but if you use this YOU MUST ONLY GIVE 'exec', or 'start' and 'stop'. When you use the link it will use the exec/start/stop you give here, with the phonenumber etc... from the provider used with the link. (Connectd won't let you use a provider with exec/start/stop script with a link declared like this.) e.g. link ttyS0 link ippp0 { start %C/isdn.dialout %L %T user %U %X stop isdnctrl hangup %L } Lets you have a serial line and a multi-provider isdn-line. This is a very quick hack. FOLLOW THESE INSTRUCTION EXACTLY, or connectd will behave unexpectedly. Procede with caution as this is not well tested. BROKEN Inline-scripts in link definitions, or perhaps %-substitution into inline scripts is broken. Not had chance to look at it. 2.5.7 CHANGED Connectd sends 'opening' (the little up arrow) if anyone wants the link open and it isn't yet ready. (Previously it meant connectd had started pppd.) Connectd sends 'closing' (the little down arrow) when no-one wants the link open and it isn't yet closed. (Previously it meant connectd was waiting for pppd to die, possibly before redialing.) {version string '[state1]' flags this.} CHANGED The ISDN/async interface has been completelt rewritten; see docs/async.txt {Rewrote state engine; internal states don't map directly onto external state. REDIAL_WAIT officialy means 'closing from OPENING' and CLOSING means 'closing from OPENED'; REDIAL_WAIT is not currently used by async. Async has an extra state 'DIAL_EXPIRED'. Moved signal handling routines into links/gotevent.cpp. Renamed plink::linkUp as beganCharging and rewrote.} proto ADDED Attach flag --unified-links-msg causes links messages to carry the state of each link, not just their names and a few sultry arguments. BROKE Because of the above points, connect and kconnect need connectd 2.5.7 CHANGED 'connect down' is ignored for synchonrous connections (i.e. ordinary connections and those with an exec script). CHANGED For asycnhronous links 'connect down' doesn't unconditionally bring the link down - the start/stop script still has to exit before the link is fully down. REMOVED 'wait-for-down' is depreciated, as above means all links wait-for-down (as well as the stop script exiting). ADDED Connectd installs its own /etc/ppp/ip-down file. Install/uninstall/.spec files hacked to cope. This MUST HAPPEN for ISDN TO WORK. CHANGED I've hacked the ip-up so for SUSE it calls my ip-down (which _will_ end up calling the real-ip-up as 'ip-down' via the real-ip-down, if all the magic works). REMOVED 'connect answered' is ignored for asynchronous providers (i.e. ISDN connections and those which use start/stop scripts). Billing starts with 'connect up' or on dialing (if the provider 'starts-answered'.) ADDED 'connect is [link] [] not ' Allows you to easily test for an inverse state without worrying the error is there is no such link. CHANGED The default invocation of pppd includes "idle 0" to prevent pppd doing idle detection. [R:Kat Kirk] FIXED The install script (scripts/inst_D_p_sh) didn't quote its arguments; it does now. CHANGED The installer script explicitly sets permissions to try and guarantee they are exactly what I want. CHANGED 'connect state' prints ' ' rather than ': ' [R: Fausto] ADDED 'connect all states' prints above for all links not just those you have open. [R: Fausto] ?FIXED Fixed possible bug in the billing code; and certainly a bug that meant 'calls' in the users table wasn't the count of physical calls. {clients.cpp: Plink::linkUp was called when the link wasn't chargable.} ADDED 'connect close --provider ' should close any connections using [R: Fausto] FIXED 'connect abort' was prepared to hang on my machine; I have completly rewritten it. This may have caused '/etc/rc.d/init.d/connectd stop' to hang? ADDED 'connect signal|sig ' means connectd doesn't have to know about signalling commands. proto ADDED ' hungup'/' hung-up' is used to stop charging via 'connect sig hungup' (This should go at the start of your ip-down file; the new files have it.) ADDED tests/tester, program for testing connections. {+espp/rvector.h} FIXED Connectd had stopped replying to some messages for add_user, etc... {passwd.cpp: replies[] etc don't have return built in anymore} FIXED After premoting a link/provider to permanent connectd would then not add users. {passwd.cpp: check usertype == UT_DYNAMIC before decrementing dynamic_users} logs INCOMPLETE Added various messages related to charging. They're not right, they will be fixed. proto FIXED add_field was returning a 'not without' message; corrected to 'not until field exists' FIXED Connectd doesn't close its sockets (and kickoff clients) until _after_ all the links are down; so its now possible to login and say that async links have closed! On shutdown connectd disables all providers. [R: Fausto] CHANGED Unless -N (--nowait) is passed to connect, 'connect exit' waits for the server to exit. (Previously it logged-off as soon as the server acknowledged the exit request.) CHANGED initscripts (except rh7) no longer use 'connect abort' but rely on 'connect exit' to wait. kde CHANGED Left click on kconnect's icon with the client-list in the foreground closes it. kde CHANGED Kconnect displays a dialog box when connectd closes the connection nicely. kde CHANGED Kconnect uses '-opt' instead of '--opt' long options because '--opt' wasn't getting through to it. [R: Ross Bevington] kde FIXED In a mutilink system kconnect picks the first link if you don't give one with -L/-link. KDE3 FIXED {Fixed Compilation errors: kconnect.cpp: arg mismatch in call to KMessageBox::information(); kconnect.cpp: added missing '#include ' espp/bitset.h; forced access to superclass map from Bitset. [John Couturier]} FINISHED I think just about everywhere ought to be able to take inline scripts--even exec/start/stop scripts in provider definitions. (Remember these are scripts which use brace quoting spanning multiple lines, and are passed to /bin/sh on stdin.) proto FIXED Under the right conditions connectd was incorrectly marking a link as disabled {'-D CCL' added to opening|opened|closing message}. If 2.5.5/7+ you're arrow was spuriously grey then this was why. FIXED 'connect watch []' doesn't suddently stop updating the first time it receives an irrelavant message. {Oops: was using data allocated in input queue.} FIXED 'connect watch timers' is now updated when timers are added. {llama.cpp wasn't republishing() on scheduleTimer} FIXED 'connect watch []' restores a sane terminal if connectd drops out on it. FIXED 'connect watch []' copes with its window being resized :-) espp CHANGED This includes the return to realloc() in Scratch::resize() which produced such prodigious speed increase in rowan. 2.5.6/7 FIXED Oops corrupted Thread::send(_block const&) in 2.5.6/6 so it could lock the server... Sorry. proto FIXED opening ... -dial-time / now correctly sets to the limit; '[-dt]' is ident string for this fix. 2.5.6/6 CHANGED When dialing a provider with a wildcarded phonenumber connectd uses the provider '<'''>', creating it if it doesn't exist; the provider is deleted when the last connection using it drops out. This is principally for multilink support and the ramificiations could break a lot of things but is necessary. [R: Fausto Saporito] {To adapt connect rewrote connect_src/opener.h to use newuser() and grab returned provider; knock-on effect on connect_src/executor.h and Poller in connect.cc} ADDED In a service definiton you can do if [adsl|isdn|analogue] which will cause the service to be run only if an ADSL, ISDN or analogue modem is in use. e.g. service init-adsl { on startup if adsl exec { init code... } } ADDED In service definitions, insteead of 'on-' you can use '{on|while} [...]', e.g. 'on startup down'; all the on-* and while-* flags are depreciated and will probably be removed in 2.6 FIXED connect doesn't get confused on 2nd+ dial attempt for templated providers. [R: Saporito Fausto] CHANGED connect's 'Connected' message gives the provider (if one wasn't specified) and the link (for multilink systems). REMOVED 'connect ' doesn't connect to CHANGED 'connect to ' opens links; if in 'connect to ' is a link and a provider connect swears. FIXED Doesn't write debug messages for LOG_DETACH, or record hitting an EOF ( "Success") [R:Fausto Saporito] Upgraded partial send from LOG_DEBUG to LOG_ERR. FIXED Stripped another pointless log message about dropping queued data. FIXED A start, stop or exec script in the config file was just appended to the builtin defaults rather than replacing it. {Providers.cpp::initExec() wasn't resetting.} proto CHANGED close_request accepts '-p ' and will only close matching links - it issues an error if you specify the link and it isn't bound to provider; when the link isn't specified it closes any connections to the provider and exit. (But I've got to rewrite connect_src/closer.h for connect to be able to use this.) CHANGED Some of the script coding. {Removed Provider::private_strings; replaced StdScript with _StdScript as base for ServiceScript and new class StdEventScript} FIXED 'connect exec...' didn't handle kill the child on abort just exited; that is now fixed. 2.5.6/5 CHANGED 'connect exec...' fails if the session already exists; --unique forces the old behaviour of generating a new session name. connect ADDED --no-wait as a synonym for --nowait. ADDED Services. Services are stored in /etc/connect/config as service { [on-startup] [on-up|while-up] [on-down|while-down] [periodic] [default-period