syncdomain: use flock, not file existence

There were cases when syncdomain was terminated abnormally, keeping the
lock file existing. After that the syncdomain was not able to resume
until the lockfile was deleted.

This patch uses flock(), adds ability to disable locking logic
(--nolock), and to print significant errors to the STDERR (--stderr) to inform
sysadmin using mail.
0.20.7: cut the release
shortenIfName: don't lowercase "AC-in" port
SNMP support for Cisco 2960X-24PS-L, 2960X-24PD-L
Merge branch 'syncdomain'
callScript: export child resourse via global var

The proc_open resulting resource may be needed outside the callScript()
function if a user has signal handlers. E.g., a user may want to limit
the execution time of a gateway scipt using the pcntl_alarm(). In that
case the child process may need to be terminated explicitly using the
$script_child_res global resource.
API to retrieve the newly created entity ID

When you implement a plugin that need to process the newly created
entity (by chaining after the original ophandler), you need to know the
entity id. lastInsertID() is not a choise since there may be multiple
inserts to different tables in the original ophandler.

lastCreated: new function to track or return the last created IDs
getLastCreatedId: wrapper around lastCreated(), filtering the last
created ID of a given realm.

these functions changed to call lastCreated():
	commitAddObject
	commitAddPort
	commitCreateUserAccount
	createIPv4Prefix
	createIPv6Prefix
	addVService
	addVSG
	createVLANDomain
	addRStoRSPool
	commitCreateRSPool
	tableHandler
callScript: wrong exit code bugfix
omit password hash values from HTML

The local user accounts management form used to use password hash value
to indicate that there is no change to the password. Stephan Rickauer
points that exposing the hash value isn't good with the rainbow tables
attack in mind. Use an empty string for that purpose instead.

* renderUserListEditor()
* updateUser()
add a couple new Pica8 switches
bugfix: properly format comment text for racks

renderRackInfoPortlet(): print [multi-line] comment inside respective
  DIV, not as plain text.
improve previous commit: also fix locations
Fix UI reset after MGMT_PROTOS change in 0.20.6

In 0.20.6 TELNET_OBJS_LISTSRC, SSH_OBJS_LISTSRC, and RDP_OBJS_LISTSRC
were replaced with a single MGMT_PROTOS option, but the UI reset code
was not updated and so still attempted to reset the objects which no
longer existed...
Update auth.php with LDAP option to specify port

We use Zentyal which used different port for LDAP read only queries, by default on port 390.


Below example configrarion, hope someone will find it helpful someday. Remember to adjust to your needs.

$LDAP_options = array
(
	'server' => 'zentyal-dc.example.com',
	'port' => 390,
	'domain' => '',
	'search_attr' => 'uid',
	'search_dn' => 'dc=dir,dc=example,dc=com',
 // The following credentials will be used when searching for the user's DN:
	'search_bind_rdn' => 'cn=zentyalro,dc=dir,dc=xstream,dc=dk',
	'search_bind_password' => 'enter_pass_here',
	'displayname_attrs' => 'cn',
	'options' => array (LDAP_OPT_PROTOCOL_VERSION => 3),
	'use_tls' => 0,         // 0 == don't attempt, 1 == attempt, 2 == require
);
finalize the previous change
Update README with nginx and php5-fpm conf

I've been using Debian 7 and nginx + php5-fpm since December 2013 and
haven't noticed any issues.

The only thing that has noticeable impact is php scipt caching on nginx
side, but then admin makes it on purpose. By default this feature is not
enabled, but I've decided to add some info about it.

Added extra info for server_name variable for nginx, apparently this
surfaced after update from 0.20.6 to 0.20.7.
new {$client_x.x.x.x} auto tag
increase wrt_vlans field length in DB VST rule

There could be a VLAN list longer than 255 characters
in some environments.
shortenIfName: don't lowercase "AC-in" port
omit password hash values from HTML

The local user accounts management form used to use password hash value
to indicate that there is no change to the password. Stephan Rickauer
points that exposing the hash value isn't good with the rainbow tables
attack in mind. Use an empty string for that purpose instead.

* renderUserListEditor()
* updateUser()