Hive-ChangeLog
From Wiki
Hive ChangeLog
suexec
2011 May 6 Version 0.12.0
- suexec.c
- Added skip of perms checks if this is mailman
- Moved the mailman code before the chrooting
- Enabled cPanel's MAILMAN support
2011 Apr 26 Version 0.11.2
- suexec.c - Changed version to 0.11.2.
- mounts_check.c: Close /proc/mounts when we have found all of the mountpoints.
2011 Apr 20 Version 0.11.1
- suexec.c: Changed version to 0.11.1.
- mounts_check.c
- Fixed the check mount debug messages so they are printed to the log file before a check is made.
- Check if we have find both userdir and homedir after finding each of them instead of when checking every row of /proc/mounts.
- Check for userdir and user home only if we have not found them already.
- Check each mountpoint if it contains the username starting at char 12 (after /var/suexec/) and proceed with the other two checks only for mountpoints containing the user name.
- Removed the '\n' chracter from strtok delimiters.
- Got rid of the column variable and the for loop. We don't need to loop through columns because we need the data from the second column only.
- Removed some old comments.
- Added a continue so if we just found the first mountpoint we are looking for we won't scan the next.
- Fixed a bug leading to multiple mounts for a given user. When scanning /proc/mounts the code compared the 0-th column instead of the first.
2011 Apr 19 Version 0.11.0
- suexec.c: Use the new version of the check_mount() function
- mounts_check.{c,h}: Changed check_mounts() function to be called with the two strings we are searching for
- mounts_check.c
- Removed unused variable fname
- Removed the buffer used to hold the mountpoint
- Moved checks if we have found the mountpoints we are looking for to the section of the code where we check column 1 of /proc/mount
- Removed the check for username length form the check_mounts function
- We don't need to split up to the fifth column of each line. It is enough to go past the first column
- Removed the unused variable userlen
- Removed a useless check. We don't need to break when we reach the second column of each line of /proc/mounts. We can break when we have finished parsing the first.
2011 Apr 18
- suexec.c
- Removed useless chroot2path and chroot2home pointers.
- Removed a useless strdup.
2011 Apr 14
- suexec.h
- HTTPD_USER set to apache for Plesk.
- Also changed header version to 0.7.1.
2011 Apr 12 Version 0.10.4
- suexec.c
- Use MAX_UNAME when checking for too long usernames
- Do not exit if the executable file is a link
- suexec.h must be included to get all of the macros there defined in mounts_check.c
- pwd.h and suexec.h must be included to use getpwnam
- suexec.h
- Added a new macro - MAX_UNAME that is set to indicate the maximum length of the username.
- Changed header version to 0.7.0
This is set as follows: Plesk: 20 Other: 12
- mounts_check.c
- We need a bigger buffer for userhome when running on plesk.
- Fixed user's home path for plesk. /home/{user_home} was used instead of {user_home}.
- Added plesk support.
In plesk: - usernames are up to 20 characters - we mount the home folder of the client at /var/suexec/username/user_home_dir instead of /var/suexec/username/home/username
- mounts_check.h
- Take the username as a char* instead of char username[14].
- Included pwd.h, sys/types.h and suexec.h.
2011 Apr 7 Version 0.10.1
- suexec.c
- Exit if we are built for plesk and fail to get PLESK_GROUP id.
- Changed version to 0.10.1.
2011 Apr 7 Version 0.10.0
- suexec.c
- Changed version to 0.10.0
- Fixed http://bugs.1h.com/show_bug.cgi?id=1094:
- Allowed execution of world-writable scripts.
- Allowed execution of scripts from world-writable directories.
- Allowed execution of scripts if the folder is owned by the psaserv group
2011 Mar 23 Version 0.9.1
- Fixed a strange bug when doing graceful restart of apache, suexec is killing all of its childs without waiting.
2011 Feb 24 Version 0.9.0
- Added support for Plesk.
2011 Feb 23 Version 0.8.4
- Changed the cpustats socket path to /chroot/run/cpustats_socket
2011 Feb 22 Version 0.8.3
- Check for /etc/disable_hivechroot only if build with SUEXEC_CHROOT option.
2011 Feb 21
- Fixed the permissions to 4711
2011 Feb 15
- Added examples to rlimit-config. rlimit-config will be shipped with rlimit-config.example by the suexec RPM package.
2011 Feb 14
- The default rlimit-config is shipped with the same limits as the ones built in the suexec binary
2011 Jan 28 Version 0.8.2
- Fixed orphaned FastCGI processes. Improve debuging.
2011 Jan 11
- Added better handling of setuid(). Now we handle resource limits differently.
- Removed a lot of old commented code
- Summarize completely replaced by a new version
- Added save_stats to send the collected information to a socket
- Improved mounts check code
crond
2011 Apr 26
- cron.h: Changed version to 0.10.6.
- mounts_check.c: Close /proc/mounts even if we have found all of the mountpoints. Otherwise the daemon dies.
2011 Apr 21
- cron.h: Changed version to 0.10.5.
- do_command.c: Exclude mailman user from chroot and limits.
- config.h: Defined the MAILMAN_USER macro.
2011 Apr 13
- cron.h: Changed vrsion to 0.10.4.
- mounts_check.h
- Include config.h and cron.h in mounts_check.h
- Added pwd.h and sys/types.h to use getpwnam
- mounts_check.c: Added a new version of mounts_check.h
2011 Apr 11
- cron.h: Changed version to 0.10.2
- database.c
- Process crontabs with perms != 0600.
- Removed the check if crontab has 0644 permissions.
- Skip the crontab if it is world-writable.
2011 Mar 29
- 0_sw.patch - Patch which moves the old log file to a backup and create a symlink with the same name to the new log destination.
2011 Mar 28
- cron.h: Changed version to 0.10.0.
- pathnames.h: Changed LOG_FILE to "/var/log/cron" instead of "/var/log/crond.log".
2011 Mar 21
- cron.h: Changed version to 0.9.1.
- database.c: Parse crons in RH_CROND_DIR the way we parse system crontabs.
2011 Feb 25
- cron.h: Changed version to 0.9.0.
- chroot.h: Added the MAX_PATH macro defined in similar way to that used in suexec.
- do_command.c: Always mount homes in chroot using the path to user's home folder from /etc/passwd instead of hardcoded /home/username
2011 Feb 11
- Added RedHat /etc/cron dir support
- Applied 6_rh_crond.patch and fixed the max_mtime to use dir_name instead of SPOOL_DIR.
- Fixed a bug which prevented the collection of stats for some cron jobs
- Updated SOCK_PATH to /chroot/run/cpustats_socket
- Improved socket messaging code
- cron.h: Changed version to 0.8.0.
2011 Jan 20
- cron.h: updated the version to 0.7.0
- Optimized save_stats() function
2011 Jan 12
- Simplified resource collection
- Sending the resource information directly to a socket instead of logging
2011 Jan 6
- do_command.c: Fixed preprocessor directives and logic
2011 Jan 5
- cron.h: Changed version to 0.6.0.
- do_command.c: Fixed a rarely occuring and hard to reproduce bug in the child process leading to disabling chroot, limits and stats on some systems
CPUstats
2011-05-30
- [enhancement] www/js/cpustats.js: Set limitedHelpWindow as global variable (http://bugs.1h.com/show_bug.cgi?id=1213)
2011-05-27
- www/cpustats.pl
- Version changed to 1.5.1
- [bug] Rewrite all queries to calculate average values in query (incorrect calculation in avg field)
- www/js/cpustats.js
- [enhancement] Added function fixValue to round double precision values in renderer in Average seconds columns
- [enhancement] Changed the text for missing db commits once again as per the new requirements in http://bugs.1h.com/show_bug.cgi?id=1228.
- [bug] Average value not calculated properly for ALL under CPU stats interface (http://bugs.1h.com/show_bug.cgi?id=1233)
- cpustats.sql: Rewrite all views to calculate average values in query (incorrect calculation in avg field)
- patches/4_sql.patch: Rewrite all views to calculate average values in query (incorrect calculation in avg field)
- [enhancement] User limits graphs: add notice for missing stats (http://bugs.1h.com/show_bug.cgi?id=1213)
2011-05-26
- www/cpustats.pl: Changed version to 0.4.16.
- [enhancement] www/js/cpustats.js: Changed the text message for failed db commits: http://bugs.1h.com/show_bug.cgi?id=1228
2011 May 5
- [bug] Uninstall breaks Guardian services config (http://bugs.1h.com/show_bug.cgi?id=1156)
2011 May 4
- www/cpustats.pl: Version changed to 1.4.14
- [bug] CPU Stats(web interface) User Limits issue (http://bugs.1h.com/show_bug.cgi?id=1174)
- [bug] Error in IE when accessing Cpustats local-inteface and Hive Settings (http://bugs.1h.com/show_bug.cgi?id=1166)
2011 May 3
- [bug] www/js/cpustats.js: IE issue with ',' at the end of the object (http://bugs.1h.com/show_bug.cgi?id=1166)
- [enhancement] cpustatsd/cpustatsd.pl: Added signal USR2 - parse configuration file if received it
2011 May 2
- www/js/cpustats.js - Modified Detailed checkbox to be right align: http://bugs.1h.com/show_bug.cgi?id=1099
- More work on http://bugs.1h.com/show_bug.cgi?id=1035 CPUStats user limits
2011 Apr 28
- cpustats.js: http://bugs.1h.com/show_bug.cgi?id=1154 - CPUStats local interface crashes if there is no data
- cpustats.pl
- Enhancement http://bugs.1h.com/show_bug.cgi?id=1099 - CPUstats user limits (web interface)
- Changed version to 1.4.10
- More work on http://bugs.1h.com/show_bug.cgi?id=1035 CPUStats user limits
- bin/uninstall_cpustats.sh: Added uninstallation of take_limits_down.pl cronjob
- cpustatsd/limit_user.sh: Added chmod 644 of .htaccess
2011 Apr 27
- Enhancement - http://bugs.1h.com/show_bug.cgi?id=1035 - CPUStats user limits
- http://bugs.1h.com/show_bug.cgi?id=1149 - cpustatsd usernames issue
2011 Apr 26
- cpustats.js
- Moved some duplicated code to a function.
- Added a showTab function that returns function which displays the desired tab.
- js/cpustats.js
- Enhancement http://bugs.1h.com/show_bug.cgi?id=1065 - Remember submenu choices when changing between All/Http/Cron/MySQ
- Added two global variables: lastMenu and lastInterval to hold the last submenu choice and the last interval used (daily, weekly).
- cpustats.pl
- Changed version to 1.4.7.
- Enhancement http://bugs.1h.com/show_bug.cgi?id=1100 - Ability to log every execution in a log file
2011 Apr 21
- http://bugs.1h.com/show_bug.cgi?id=974 - No chart for 'All' in the hive settings on some machines
2011 Apr 20
- www/cpustats.pl: Version changed to 1.4.5
- http://bugs.1h.com/show_bug.cgi?id=1140 - fixed store_dumps
- http://bugs.1h.com/show_bug.cgi?id=1137 - unable to add cronjob
2011 Apr 18
- User limits web interface
2011 Apr 11
- www/cpustats.pl: Changed version to 1.4.3
- config: Added new option suspend_script - Bug: http://bugs.1h.com/show_bug.cgi?id=1098
- limit_user.sh: Replace cpanel script with the script defined in configuration
2011 Apr 8
- www/cpustats.pl: Changed version to 1.4.2
- Fixed bug: http://bugs.1h.com/show_bug.cgi?id=1095
2011 Mar 31
- cpustatsd.pl - Changed version to 1.4.1
- Added option limit_url in config file
- Modified limit script to get redirect url from config file
2011 Mar 30
- cpustatsd.pl
- Changed version to 1.4.0
- Removed debuging
- install_cpustats.sh
- Do not run limits remover if it is disabled in configurations
- Fixed syntax error
- Added installation of CPUStats user limits to install script and patch
- Added 2_sql.patch & 3_sql.patch
- Fixed syntax error in patches/3_sw.patch
2011 Mar 29
- Added enable_user_limit option in cpustats config file
- CPUStats/storage.pm - Fire trigger if option enable_user_limit is enabled
- install_cpustats.sh - Do not call dns_setup.sh anymore. Let the user manage his DNS records on his own
2011 Mar 28
- cpustats.sql - Username should always be a text field
- 1_sql.patch - Make sure to change the type of the username column to text instead of char(10)
2011 Mar 25
- take_limits_down.pl - Modify cron limit remover to take daily limits down
2011 Mar 23
- cpustatsd.pl
- Changed version to 1.1.1
- Added default value of action_limit option in check_config.pm
- Added extra check for argument 7 in res hash
- CPUStats/storage.pm - Removed uneccessary else
- Bugfixes in limit_user.sh, remove_limit_user.sh after live tests - wrongs paths, seds, suspend cmds, etc
- CPUStats/trigger.pm - Untaint some variables
2011 Mar 18
- cpustatsd.pl - Fixed bug with defunct childs
- Added cron perl & bash script for limited accounts unsuspension
2011 Mar 17
- cpustatsd.pl
- Added more comments
- Fixed bug while clearing the whole hash - wrong reference
- Added bash script, which limit/notify users
2011 Mar 16
- cpustatsd.pl
- Changed version to 1.1.0
- Trigger spawn bash script, which insert entry into db;
- Bitwase calculation of suspended accounts - hourly || daily; http || cron; exec || real
2011 Mar 15
- cpustatsd.pl
- Trigger violate users
- Modified get_time function - manually calculate time in case of hourly, use Time::Local in case of daily
2011 Mar 14
- cpustatsd.pl
- Changed version to 1.3.2.
- Added function to get timestamp for the last day and hour
- Added function to clear houlry hash stats & daily hash stats
- Added daily & hourly time counter
- Check if the http/crond res arrays are non-empty before printing. Otherwise we get an error for users that have no executions.
- Added exec to the format string used to dump crond executions.
- Print to the DUMP fd when dumping crond stats.
- CPUStats/storage.pm: Changed comments describing the stat line and made a small indentation change.
2011 Mar 1
- cpustatsd.pl Added initial population of main hash with stats so far
2011 Feb 28
- cpustatsd.pl
- Send a reference to the whole %config instead of only debug to update_res
- Added comments for the added 24h statistics
- In update_res() we need the new hourly_* and daily_* variables so we have added a reference to it.
- CPUstats/trigger.pm - A module to trigger the action script
- Added interval to the trigger()
- CPUstats/storage.pm
- Added 24h statistics collection
- A little optimizaiton to the use of time()
- Added a trigger action to the update_res() function
- Moved 24h stats update to update_res() because otherwise we can not take action imidiately.
- Added hourly and daily stats checks in update_res().
- Added some comments for the trigger() function.
2011 Feb 23
- install_cpustats.sh - Make sure to always connect to the template1 database whilte testing psql connection.
- Removed IO::Handle::Record from CPUstats daemon, install and patch - no needed anymore
- cpustats.pl: Changed version to 1.3.1.
- cpustatsd.pl: Don't take the UID from the socket. Instead take it from the stat line.
- CPUstats/storage.pm
- Changed update_res function so it does not take the UID as
- second argument because the UID is included in the line ($line_ref->[1]).
- Also fixed a bug in the update_res function. It used the UID as the real time.
- Changed version to 0.0.2.
2011 Feb 22
- cpustats.pl - Missing dump paths are now gathered from the conf file.
- Removed deprecated line from config file, fixed some paths
- Changed path of config file
- Added missing options(interval, batch_max, status_file, socket_file, missing_dumps_path) in config file
- Force installation of IO::Handle::Record due to errors in tests
- Added installation of perl module - IO::Handle::Record, needed by CPUstats daemon
- Changed version to 1.3.0
- Replaced the old daemon with the new one (cpustatsd2.pl)
2011 Feb 14
- install_cpustats.sh - Execute cpplugin setup for hive only if cpplugin is already installed.
- cpustatsd/cpustatsd2.pl: Added read_users() before the main loop. If we don't fill the %users hash before entering the main loop, it is possible to dump the information into the dump file wihout the actual usernames.
2011 Feb 10
- cpustatsd/cpustatsd2.pl: Moved all DB storage related functions to CPUstats/storage.pm
- cpustatsd/cpustatsd.conf: This file contains the minimum configuration needed to run cpustatsd
- cpustatsd/CPUstats/check_config.pm: added missing_dumps_path
- cpustatsd/CPUstats/storage.pm: Removed the minutes from DB inserts
2011 Feb 2
- Make sure to correctly insert the mysql dumper cron if we have a mysql with stats included
- Install cleanly on servers without cPanel
2011 Jan 25
- CPUstats/storage.pm: moved all DB storage related functions to a separate module
- CPUstats/check_config.pm: Changed the default interval from 60 to 3600 seconds
2011 Jan 24
- bin/install_cpustats.sh - Setup the cPanel plugin only if this server has a cPanel installed on it.
2011 Jan 20
- cpustatsd/cpustatsd2.pl
- Removed logfile and pidfile options. Use $config{X} instead.
- Removed sigChld handler since this daemon is non-forking.
- Removed the unlink of the timefile. It is useless when we only want to touch the file.
- Changed the umask of the socket file from 000 to 044 (622 perms)
- Added Tainted checks to the daemon.
- Added external module for configuration verification(CPUstats::check_config).
- Added checks before the printf in the DUMPER.
- Added check verification check for the http stats store_res().
- Added more comments in the code.
- Added reload of the users hash before every save to the DB and removed the initial read since it is useless now.
- Reordered all the code.
- cpustatsd/CPUstats/check_config.pm: Module to verify configuration
2011 Jan 19
- cpustatsd2.pl: Complete rewrite of the cpustats daemon
- This version works ONLY with sockets.
- It has improved collection of totals.
- It uses the old store_dump() function.
- Everything else is rewriten.
2011 Jan 12
- detect_mysql.sh
- Try mysql stats detection only if the mysql binary is available
- Try to fix /home/1h/public_html/cpustats/js/config.js only if it exists
- Fix the root cron only if it exists
- Exit cleanly
- install_cpustats.sh
- Removed commented code
- Fixed logical bug while checking /home/1h perms
- Exit cleanly
- uninstall_cpustats.sh
- Removed commented code
- Code indentation
- Operate with files only after we are sure they exists
- Cleanup cPanel themes files only after we are sure they exists.
2011 Jan 6
- index.html - DOCTYPE has been removed. If everything is working now we do not need it.
- detect_mysql.sh
- From now on mysql stats tab is enabled in the cpustats config.js file instead in cpustats.js
- The sed which enables the mysql stats tab has been changed as well.
- index.html
- Added doctype and xmlns to the index.html file
- Load the new js/config.js file prior loading js/cpustats.js
- cpustats.js
- Removed obsolete date_offset and local_portal variables which are not used
- show_mysql has been moved from this file to the new config.js
- Back to master window.location is now using variable masterLink from config.js
- config.js - New config file which holds show_mysql and masterLink variables. It will be used as config in the rpm with no replace option.
- 0_sw.patch - Make sure to add the comments for graphmode 1 and 2 as comments not as config vars. Added missing #
- 1_sw.patch - Added new SW patch so we can reconfigure the master interface for the last time.
2011 Jan 5
- detect_mysql.sh - Restart crond only if we added mysql stats cron and we need to
BaseOS
2011-05-30 Version 0.2.4
- [enhancement] php_version.sh
- Alsways use the cgi php bnaries when querying for version.
- Always distinguish between php52 and php52s and add a message that php52s was built with Suhosin patch to the version information.
- Changed version to 0.2.4.
2011-05-26 Version 0.2.3
- [bug] php_version.sh: Empty the HTTP_ACCEPT_ENCODING environment variable when listing php versions in case we are called from web. Otherwise newer phps gzip output.
- Changed version to 0.2.3
2011-05-25
- [enhancement] ssh_chroot_setup.sh - Switch the internal sftp subsystem to internal-sftp in case the client's sshd supports chroot and match directives.
2011-05-25
- [enhancement] php_version.sh - Better usage for the php_version.sh set option. Script version is now 0.2.2
2011-05-20
- [enhancement] Added new tool to baseos - to-user
2011-05-16 Version 0.2.2
- Changed version to 0.2.2
- [bug] baseos-0.2.2-patch.sh will check if the dirs we need to fix are symlinks and if not it will remove the dir and link it to the proper location. This fixes the PHP52s upgrade problems.
- suexec-chroot.init.1h
- [bug] Validate the username parameter before executing cleanuser. This should fix http://bugs.1h.com/show_bug.cgi?id=1188
- Changed version to 3.6.2.
2011 May 10
- ssh_chroot_setup.sh - Script version changed to 0.0.2
- ssh_chroot.conf is separated on 2 locations. The one in /home/1h/etc is used only to store variables if ssh chroot can be managed/supported. the main ssh_chroot.conf is used to store the path to the sshd config and the sshd binary. main ssh_chroot.conf shoud be with 600 perms and owned by root.
- when running ssh_chroot_setup.sh the ssh paths are stored in the main conf and the chroot_ssh settings are storred in the "local" conf
2011 May 9
- ssh_chroot_setup.sh
- New file has been added to the 1h-baseos package. ssh_chroot_setup.sh attempts to find the valid sshd config file and the path to the sshd binary. Based on the content of the sshd binary we decide wether we should allow the clients to switch on chrooted ssh feature from the local interface -> hive config or this option willl be unavailable for them. This feature only works with ssh 5.2p1+.
- the script will be executed ONLY once during the baseos installation process. ssh_chroot_setup.sh will not be executed during upgrades as it will overwrite the settings which might be set via the local interface -> settings -> hive config options. If the client has sshd installed on non-standard location and he wants to try if the chroot options are available for his particular install one can also run ssh_chroot_setup.sh with 2 arguments where:
./ssh_chroot_setup.sh /full/path/to/the/sshd/binary /full/path/to/the/sshd/config/file
2011 May 3
- baseos-install.sh: Remove the file baseos-x.x.x.cpio after unpacking it
- Fixes bug http://bugs.1h.com/show_bug.cgi?id=1161 - Clean after unpack in baseos installation
2011 Apr 21
- VERSION - Baseos version changed to 0.2.1
- Added rubby support
- New blank patch baseos-0.2.1-patch.sh for x86 and x86_64. Nowthing to erase from the old version :)
- The new baseos 0.2.1 contain sqlite3 and its libs as long as links from /usr/bin and /lib which point to /chroot/ruby. These links are added so we can support ruby and ruby on rails inside our baseos
- baseos-0.2.1-patch.list files shows the new files that has been added to the baseos as well as the ones that has been updated.
- This commit is part of enhancement request #875 - Add Ruby support to both 32bit & 64bit BaseOS
2011 Apr 13
- updates directory is for logging purposes only. for each architecture we have files with format baseos-X.Y.Z-patch.list. The content of these files is a list with files which were changed or added to the X.Y.Z version of baseos for the upgrade process.
- by keeping baseos-X.Y.Z-patch.list. to the git we can tell what exact files we added or changed for each baseos version
2011 Apr 11
- basedebug.sh
- Simple bash script which copy debugging tools (ltrace strace ldd hexdump) into the known baseos locations
- the script can also remove the tools we previously copied
- setup_mysql.sh
- File version changed to 0.1.0 as we got new feature
- We create a new variable old_socket_path which will hold the path to the previously defined mysql socket.
- We ALWAYS fix /var/lib/mysql/mysql.sock to point to /tmp/mysql.sock but we also fix $old_socket_path to point to it. We do this is a for loop. In this loop to prevent unexpected behaviour we check if the current value for socket is empty and if so we continue without taking any actions. In certain cases when the socket path in the my.cnf is already set /var/lib/mysql/mysql.sock we will create the link twiche because /var/lib/mysql/mysql.sock is hardcoded by default but we may obtain the same value in the $old_socket_path as well. This is not a problem because each of the files in the socket loop are removed before they are linked to their destination.
- This commit should fix http://bugs.1h.com/show_bug.cgi?id=1088 - Handle removed users
- userdel_oneh_hooks - This is the main 1H hook which is executed when a client's account is removed from the machine (typical userdel, cpanel killacct and so on). This script takes one argument which is the username of the terminated/deleted account. Later it tries to clean the mounts for this user which were previously created by the hive suexec or hive cron daemon. we do not need mounts for non-existing users right? When we clean the mounts we execute userdel_client_hooks which store USERDEL_CMD hooks configured on the clients machine prior we installed hive.
- userdel_hooks_setup
- This is the script which will setup 1H hooks for account termination/deletion during install of the baseos package and remove the hooks when hive is uninstalled.
- Make sure to check for already configured hooks in the login defs file.
- VERSION string 0.0.3 added to the script.
- userdel_client_hooks - If the client have had another USERDEL_CMD script prior installing hive we save this script to userdel_client_hooks. userdel_client_hooks is later called by userdel_oneh_hooks so the clients changes does not dissapear.
2011 Apr 8
- setup_mysql.sh - Fixed incorrect assignement of value to a variable.
- basediff.pl
- VERSION changed to 0.1.4
- Do not inclulde localtime in the patch files. These are per server specific configuration and should be never updated.
2011 Apr 7
- basediff.pl
- Added version string. 0.1.3 now.
- Naming scheme of the patch files (cpio and shell scripts) has been changed.
- Never include resolv.conf, hosts, passwd or group files into CPIO update patches. These are per system configurations and should never be overwriten.
2011 Apr 6
- suexec-chroot.init.1h
- File version changed to 3.6.1
- Make sure to touch /var/lock/subsys/suexec-chroot on start and remove it on stop. If this file is not present init system will not attempt to stop the service during halt/reboots
- Show the warning for stopping this service to the customer ONLY in case it is running this script interactively - $RUNLEVEL is empty. If this script is called by the init system, the init system itself exports $RUNLEVEL var and thus there is no need to wait for stopping this service nor show the warning.
- VERSION - Baseos version changed to 0.1.2. Updated required.
- x86/baseos-0.1.2-patch.sh - Remove ZendOptimizer files which we do not need and save 5MB of memory.
- x86_64/baseos-0.1.2-patch.sh - Hello world patch :) Nothing specific should be executed for the upgrade of the x86_64 to this version
- CPIO Changes x86
- Removed entries from /etc/hosts that we do not need
- Removed ips from /etc/resolv.conf that we do not need
- ZendOptimizer and ZendGuard loaders updated
- Removed unused ZendOptimizer .so files so we can save some mem.
- CPIO Changes x86_64 - ZendOptimizer and ZendGuard loaders updated
2011 Apr 5
- suexec-chroot.init.1h - VERSION changed to 3.6.0
- Added new function stop_warning which warns the customer not to execute /etc/init.d/suexec-chroot stop manually.
- This function allows the client to cancel the stop process for 10 seconds before we actually umount/stop the baseos
- Added new function umount_baseos which is used to stop the baseos
- Whenever /etc/init.d/suexec-chroot stop is executed it cleans all user and finally all hive system mounts
- Nice echoes during clean mounts action
- Code indentation
2011 Apr 4
- baseos-install.sh
- If the current HOMEMATCH option in /etc/wwwacct.conf is set to / .*home.*/ we should replace this matching string with a single space. If we left it to blank as it was previously WHM will complain with the following message:
--> The current value for this field is invalid. You must update it. In the WHM --> Basic cPanel & WHM Setup
- This fix avoid the WHM complain
2011 Mar 31 Version 0.1.1
- baseos-install.sh
- Fix the df filesystem BUG
- Wrap a few variables in ""
- baseos_updater.sh
- wget and gzip -d our baseos patch only in case $work_dir/baseos-$BASEVERSION-patch.cpio does not exist. This will prevent multiple downloads of the same file in certain cases.
- wget now has silent output and it continues the download from where it stopped previous time
- cpio during patch extract should NOT be in verbose mode
- VERSION changed to 0.1.1
- Fixed bug with incorrect check location of the baseos cpio update we should extract.
- Added 2 patches for x86 and x86_64 archs which should upgrade our baseos to version 0.1.1
- This update includes fcgi versions of all phps
- New command line utilities
- All PHPs has been updated to their latest stable versions from php.net
- /scripts/ folder has been completely removed.
- Known issues has been fixed in the php.ini files
- limits.ini file has been created for php53 so we can have force cgi redirect always set to 0 by default.
Plugins
cPanel/WHM Plugin
2011 May 13
- [bug] digits_cpanel.pl - Make sure to group the clients disk usage from all partitions into a single result so we can avoid printing several disk usage lines for a same interval with different values for the different partitions. This fixes bug #1203
- VERSION - Plugin version is now 1.1.6
- [enhancement] setup_cpplugin.sh - Code indentation and unconditional exit 0 at the end.
2011 Mar 28
- Master files in this project are not used for almost half year. Those are now deprecated/obsolete thus completely removed from this project.
- 1h_install.sh and TODO has been moved to a separate git project '1h-install'.
- 1h_install.sh - Make sure to pass the -P option to the df command in check diskusage function.
2011 Mar 21
- 1h_install.sh
- Touch guardian svcstop files prior trying to restart crond/nscd. Remove them at the end.
- Since portal is not installed in *all* make sure to check wheather portal has been installed on a central machine prior proceeding with the install of the selected packages from all.
- Try to import the dump only in case we have such. Copy backup pg_hba.conf from the backup only in case such file exists.
- Make sure to dump the psql database only in case psql has been successfully started (initdb was already initialized prior our upgrade attempt)
- Backup the psql data dir and make dumps only in case postgresql-server is installed. There are certain cases when only psql client is installed on the machine and there is nothing we should dump.
- Success message at the end of all installs changed.
- Make sure to continue if this package is already installed. 1h-local-interface var has been replaced with 1h-portal-local
- 1h.cgi - Make sure to show the IP link to the central portal web interface by fetching the second argv from the getLicensestate API call which contains the ip instead the hostname.
2011 Mar 18
- 1h_install.sh
- Make sure to use || while testing multiple variables in a single condition.
- Before try dumping the current sql database make sure to enable ident auth for user postgres
- Before trying to import current sql database enable ident auth please.
- Make sure to restart nscd and add it to the chkconfig.
- Make sure to always restart crond and turn it on in the chkconfig at the end if the requested installation was for hive or all. for hive and all we also check if the nscd user is present on this machine
- After the installation is finished inform the client about that.
- Do not run yum install $swPackage if rpm -q $swPackage say that it is already installed.
- Make sure to ALWAYS install EPEL repository. Here are the reasons for that
- 1h-local-interface should be ALWAYS installed with each 1H package except for 1h-portal
- 1h-loadgraphs should be always installed with 1h-local-interface or 1h-portal
- Since 1h-loadgraphs and hive rrds require packages from EPEL repo and 1h-loadgraphs is installed ALWAYS because 1h-local-interface is always installed epel should be installed by default as well.
2011 Mar 17
- 1h_install.sh
- Litespeed is not officially supported. DA is now officially supported.
- New warning if mod_php is detected and we want hive to be installed. The client should confirm the to-suexec-conversion process separately from show_warning which is later parsed by askConfirmation. Such warning is not shown if we have a touched file.
2011 Mar 16
- 1h_install.sh - If the client current apache config has modphp we will notify him that we will convert all .htaccesses to php.inis and we will fix the perms of all files to no more than 755.
- config.cgi - Do not return -1 on getPHP versions for litespeed servers anymore. php version manager (php_version.sh) has been modified so it now can work fine for litespeed as well.
2011 Mar 15
- 1h_install.sh - If this server has litespeed installed on it we should also install the epel repo so the litespeed-php-hive dependencies can be installed from there (EPEL)
2011 Mar 14
- VERSION - Package version changed to 2.3.14
- 1h_install.sh
- Do not install 1h-cpustats-da-plugin as a separate package for direct admin servers. 1h-cpustats-da-plugin is now set as a requirement for hiveX.X-da so it will be automatically installed with the selected hive package when needed.
- Better litespeed detection when checking if we should install hive for litespeed.
- config.cgi - Print -1 for all non default phps.
- hiveConfig.js - Use hardcoded variables for SSH settings which are currently unused.
- config.cgi
- File version changed to 1.5.6
- path to the suexec is now into its own var
- try to open the limits only in case $active_limits exists
- try to parse the limits from /usr/local/apache/bin/suexec only in case /usr/local/apache/bin/suexec exists
- if we were unable to obtain the limits from $active_limits nor from the suexec we use hardcoded values.
- while getting the default phps for the baseos and we detect that /usr/local/lsws dir is present this means that the user can not control the default PHP from this plugin (yet). In that case the default variable should be set to -1 which means that the user should NOT be allowed to enter the PHP settings tab
- hiveConfig.js
- do not allow the user to click on the php settings tab if the default php is -1 (litespeed server)
- ssh options are now commented out. this does not work at all nor has been tested from almost 6 months so it would be better not to show it to the customer at all.
- if we try to parse *ssh* vars we just continue. the code remains there but it is not used.
2011 Mar 10
- 1h_install.sh - Make sure to install 1h-cpustats-da-plugin if the panel is DA and client decided to install all packages or hive only.
2011 Mar 7
- 1h_install.sh
- Quit on litespeed install as well ... for now. Better messages for not official releases (da, plesk, litespeed.)
- If plesk or da control panels are found make sure to quit (for stable installer)
2011 Mar 2
- VERSION - Changed to 2.3.13
- 1h.cgi
- Fixed missing curly bracket :)
- WHM plugin backend - If the server has litespeed use different method to detect if hive is installed (stat for our lsapi phps);
- 1h_install.sh: Added diskspace check for Hive
2011 Feb 28
- 1h_install.sh
- File version changed to 2.14.1
- Hawk usage improved
- New function to temporary enable psql ident authentication for user postgres before each install via psql_auth_enable
- New function to disable 1H temporary ident authentication for user postgre after each install
- check_psql_conn is now nothing more nothing less than a simple select. the rest of the code from it has been moved to pre_psql_conn_check
- New function doRepoSwitch to switch the repo to testing. It shoudl be ALWAYS commented out by default unless you know what you are doing.
- yum makecache is now in it's separate function doRepoCache for ease
- Make cache is outside coreLibsUpgrade now. It has its own function doRepoCache
- While importing psql dump during upgrade make sure to import it inside template1 database
- Before we start install we call
pre_psql_conn_check - To ensure that psql is up and running psql_auth_enable - To ensure that ident auth for postgres is enabled doRepoSwitch - If uncommented to ensure that we are working with the files from the testing repo doRepoCache - To ensure ourselves that we always work with the latest rpms from the selected repo
- After we finish install we clean up
psql_auth_disable - Remove the temp ident auth we previously enabled.
2011 Feb 25
- 1h_install.sh - Use hive-litespeed if litespeed is detected.
2011 Feb 24
- 1h_install.sh
- If the control panel is != cPanel and the install request is for Digits we terminate the installation.
- If the control panel is != cPanel and the install request is for all digits is skipped during the 'all' packages installation.
2011 Feb 23
- 1h_install.sh
- File version changed to 2.11.8
- All while read loops should exit 1. The exact error is handled in the while read exit status handled and then thrown to the client. This fixes a bug which does not allow the clients to send reports to us if an error occurs in the while loop.
- Added function to get the current plesk version and throw an error if the version is < 10.1.1.
- In check_core we call check_plesk_version if the control panel is found to be plesk.
- Added support for plesk control panels
- While testing connection to the psql database make sure to always try establishing connection to the template1 database.
2011 Feb 18
- Make sure to sleep after the postgresql has been started.
2011 Feb 16
- 1h_install.sh
- show_filed replaced with show_error
- Do not ask the changes we will make during the installations of any products if a specific file name exists on the server.
- While testing ACLs make sure to operate on $acl_test_file not on $test_file which does not exists as a var.
2011 Feb 10
- 1h_install.sh if this is a DA server make sure to install hiveX.X-da
2011 Feb 9
- 1h_install.sh
- Fixed path to setfacl. 1h user is now nobody in setfacl.
- Check for linux extended ACL support. If it is not found notify the customer that we will attempt to enable it (enable_acl.sh from 1h-libs)
2011 Feb 8
- 1h_install.sh - Test for Bundle::LWP before testing for LWP::UserAgent in the standard perl modules tests.
2011 Feb 7
- 1h_install.sh
- Bruteforce the path to the additional php configurations as well.
- Version changed to 2.9.0 as we made minor changes to the file.
- Bruteforce path to the httpd, httpd.conf and suexec files.
- Detect if the server's control panel is cpanel or directadmin and store it to control_panel variable
- After the apache version is reliable detected we show if we will install hive-x.x or hive-x.x-da depending on the $control_panel var
- Skip homematch check if there is no /etc/wwwacct.conf file
- On servers with no /etc/wwwacct.conf (da) we assume that the account storage is /home
- doChecks and doInstall moved right before the main() function
- During doInstall if the control panel is cPanel we always install 1h-whm-plugin no matter what package the client is installing.
- During doInstall if the control panel is cPanel we install 1h-cPanel-plugin as well if the client is installing hive, digits or all
2011 Feb 3
- 1h_install.sh - Removed obsolete code for psql upgrade/install on rhel servers. It is no longer needed.
- README - This is obsolete and it was removed;.
- TODO - Added todo :)
2011 Jan 20
- VERSION - Package VERSION changed to 2.3.12
- 1h.cgi
- This file is now using the new whatismyip perl module provided by the 1h-libs package. This module catches the first available non-private ip address on the machine and returns it.
- All links to the local interfaces are now accessed via https://ip.ip.ip.ip/~1h/local-interface/index.html?action=IDOFTHESW
- Added actions with SW ids in the sw hash
- 1h.js - Guardian link to local interface is now fully functional so buy buy comming soon icon :)
- 1h_install.sh
- File version changed to 2.8.5
- Make sure to always install 1h-local-interface (1h-portal-local) before any other software
2011 Jan 19
- VERSION - Package version changed to 2.3.11
- 1h_install.sh
- Version changed to 2.8.1
- Empty row before the actual usage added.
- In the 'all' usage show that portal should be installed separately and it is not included in 'all' mode.
- Wording has been fixed in usage
- portal-local has been renamed to local-interface
- When using 'all' as an argv 1h-portal is no longer installed. It installs everything except the main portal with 'all'
- When installing one of the following 1h-portal-local is also automatically installed -> hive,digits,hawk,guardian
- Allow installations on centos/rhel servers 5.3+
- Better help/usage
- 1h.cgi - All portal-local links has been replaced with local-interface
2011 Jan 11
- 1h_install.sh
- Report mail changed from operations@1h.com to installation-reports@1h.com
- Script VERSION changed to 2.3.2
2011 Jan 10
- 1h_install.sh - Disregard excludes mentioned in /etc/yum.conf (apache* is commonly added by cPanel)
- 1h.js - Lower the height of the SSL key and crt text areas so we can avoid showing ugly scrollers.
- hawkConfig.js - Better description for periods "Per period" -> "Period"
- VERSION - Package version changed to 2.3.10
2011 Jan 5
- 1h_install.sh - Make sure to strip the [ and ] chars from the curl response as they hardly confuse the bash script.
2011 Jan 4
- VERSION - Package version changed to 2.3.9
- 1h_install.sh
- When showing that particular software is not licensed advice the client to login into his UA to activate the license
- New function getPortalState has been added to the installed
- getPortalState checks if portal is installed on any of the client's servers
- If the client is trying to install portal and portal is already found on another server show a warning to the client
- If the client is trying to install hawk/digits/hive/guardian and portal is not installed on any of the client's servers yet we advice the client to install portal first
- Make sure to check for portal on another server if the client is using all option.
- 1h.js
- If the installed software is guardian show Comming soon for local interface rather than showing a non-working link
- Do not include user and pass in the links to the local interfaces in case they are pass protected and the browser is IE. See http://support.microsoft.com/kb/834489
- portalConfig.js - Make sure to show loading progress bar while connecting local software to portal interface.
- hawkConfig.js
- Removed ugly popup while clicking on the block on failed radio button and replaced with a ? tooltip
- Increase the width and height of the hawk config win
- templates.js - The text which explains and warns about block on failed has been moved here
- 1h.cgi
- Make sure that the URL to the local interface is https://1h.domain.com/interface instead of https://domain.com/~1h/interface. The second one does not work in target="_blank" in internet explorer 8
- File version changed to 1.11.2
- Make sure to correctly detect if portal is installed locally or not.
- Another bug in locating if portal is installed at all has been fixed as well
- guardianConfig.js
- protectedUsersText in vType failure has been shortend
- Added new vtype which does not allow clients to input root as protected user as it is always considered as protected and it can not be removed from that list
- Code indentation
- Since the root's checkbox in protected users is disabled and can not be unchecked it seems that guardianConfigForm.getForm().getValues() does not include disabled checkboxes (or other items). Thus root user has to be always hardcoded to the protectThem variable.
- uninstall.sh - Fixed regex to catch the unknown versions of the installed hive package members.
2011 Jan 3
- 1h_install.sh - If the arch is i686 and we are installing/upgrading psql force the arch to i386 because the rpms are named rpm-pkg.i386 instead of rpm-pkg.i686.
- VERSION - Package version changed to 2.3.5
- cPanel-menu.css - float: left; has ben removed from this css file for the header otherwise interfere with the table body of installed/not/installed sw products
- index.html - Force margin-top to 0px for the body otherwise the style from the xtheme-1H.css is used which explictly says 10 px on the top (cPanel plugin requirement)
- 1h.js - File version changed to 1.1.1
- Removed obsolete code
- Reorder of the items in the mainPanel
- index.html - Added no-cache in the meta tags to prevent IE incorrectly display some of the components.
- 1h_install.sh
- We save arch globally so we can install psql only for the sepcific architecture instead of installing both 32 and 64 in case we are running 64bit os.
- The check for the OS version now allows RHELs >= 5.3 instead of >=5.5 as it was before. centos >= 5.5 is still required.
- redirect stderr from quotaon -p to the log
- in psqlInstall and psqlUpgrade psql for rhel is now installed exactly the same way as we would do on centos servers.
- no matter if we are installing or upgrading postgresql we always try to remove possible conflicting psql packages first
- while installing/upgrading postgresql we always install the packages for the exact $arch we need. this avoid installing both 32bit and 64bit packages on a 64bit server as we need just 64bit packages there.
- 1h.js
- Added Ext.Panel.override which fix auto scrolling issue with IE 7. Tnx to deyan.
- All JS function calls using onclick=funct() has been replaced with href="javascript:funct()"
- Added autoscroll to changePasswordForm
- We do not use viewport anymore for the page body. mainPanel is nothing but a plain and simple Ext.Panel. This fixes compatibiliti issues with IE7
- hiveConfig.js - Make sure to zero the phpVersionsGroup array after saving/canceling hive settings. This prevents filling the array with the same data over and over which constantly increase the number of phps which are actually supported.
cPanel PHP version change
2011 Apr 27
- OneHphp.pm
- Version changed to 1.1
- Fixed $html_safe_dir and $uri_safe_dir assignments
- phpchange/changepro.html: Fixed the URL to the home button
- phpchange/dohtaccess.html: Fixed the URL to the home button
- phpchange/index.html: Fixed URLs of the home and Go Back buttons
2011 Apr 26
- initial creation
cPanel PHP variables change
2011 Apr 27
- initial creation