diff -Nru gce-compute-image-packages-20171025+dfsg1/debian/changelog gce-compute-image-packages-20171129+dfsg1/debian/changelog --- gce-compute-image-packages-20171025+dfsg1/debian/changelog 2017-11-03 15:04:54.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/debian/changelog 2017-12-01 18:40:05.000000000 +0000 @@ -1,6 +1,24 @@ -gce-compute-image-packages (20171025+dfsg1-0ubuntu1~17.10.0) artful; urgency=medium +gce-compute-image-packages (20171129+dfsg1-0ubuntu1~17.10.0) artful; urgency=medium [ Balint Reczey ] + * Add minimal debian/google-compute-engine-oslogin.prerm to fix upgrades + (LP: #1733878) + * New upstream version 20171129+dfsg1 + - Generate SSH host keys when none are present. + - Improve logging when activating OS Login. + - Fix parsing logic for expiration time on SSH public keys. + - Fix home directory creation PAM config. + * Update symlink to shared library with updated revision + * Use -I/usr/include/json-c for building tests + * Backport to Artful (LP: #1735793) + + [ Ludovic Gasc ] + * Add systemd as valid ntp daemon + + -- Balint Reczey Fri, 01 Dec 2017 19:40:05 +0100 + +gce-compute-image-packages (20171025+dfsg1-0ubuntu1) bionic; urgency=medium + * New upstream version 20171025+dfsg1 (LP: #1729046) - Update set_hostname file name to prevent conflict - Add apt config to prevent auto-removal of google-compute-engine @@ -9,10 +27,7 @@ * Update packaging for changing set_hostname to google_set_hostname * Ship apt config to prevent auto-removal of google-compute-engine - [ Łukasz 'sil2100' Zemczak ] - * Backport to artful. - - -- Łukasz 'sil2100' Zemczak Fri, 03 Nov 2017 16:04:54 +0100 + -- Balint Reczey Tue, 31 Oct 2017 18:23:49 +0100 gce-compute-image-packages (20171019+dfsg1-0ubuntu1) artful; urgency=medium diff -Nru gce-compute-image-packages-20171025+dfsg1/debian/control gce-compute-image-packages-20171129+dfsg1/debian/control --- gce-compute-image-packages-20171025+dfsg1/debian/control 2017-10-31 17:23:49.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/debian/control 2017-12-01 18:40:05.000000000 +0000 @@ -32,7 +32,7 @@ ${misc:Depends}, google-compute-engine-oslogin, python3-google-compute-engine (= ${source:Version}), - chrony | ntp | time-daemon, + chrony | ntp | time-daemon | systemd, cloud-init Recommends: google-cloud-sdk, libpam-cracklib diff -Nru gce-compute-image-packages-20171025+dfsg1/debian/google-compute-engine-oslogin.links gce-compute-image-packages-20171129+dfsg1/debian/google-compute-engine-oslogin.links --- gce-compute-image-packages-20171025+dfsg1/debian/google-compute-engine-oslogin.links 2017-10-31 17:23:49.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/debian/google-compute-engine-oslogin.links 2017-12-01 18:40:05.000000000 +0000 @@ -1 +1 @@ -lib/libnss_google-compute-engine-oslogin-1.1.1.so lib/libnss_oslogin.so.2 +lib/libnss_google-compute-engine-oslogin-1.1.2.so lib/libnss_oslogin.so.2 diff -Nru gce-compute-image-packages-20171025+dfsg1/debian/google-compute-engine-oslogin.prerm gce-compute-image-packages-20171129+dfsg1/debian/google-compute-engine-oslogin.prerm --- gce-compute-image-packages-20171025+dfsg1/debian/google-compute-engine-oslogin.prerm 1970-01-01 00:00:00.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/debian/google-compute-engine-oslogin.prerm 2017-12-01 18:40:05.000000000 +0000 @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +# In version 20170718-0ubuntu1 prerm disabled OS Login but the package did not +# depend on openssh-server and missing openssh-server made disabling OS Login +# and as a result prerm fail. Upon upgrading google-compute-engine-oslogin dpkg +# tried to fall back to running the new version's prerm but it failed since it +# was missing. (LP: #1733878) +# This minimal prerm just exits with success making upgrading from +# 20170718-0ubuntu1 and older releases succeed. +exit 0 diff -Nru gce-compute-image-packages-20171025+dfsg1/debian/rules gce-compute-image-packages-20171129+dfsg1/debian/rules --- gce-compute-image-packages-20171025+dfsg1/debian/rules 2017-10-31 17:23:49.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/debian/rules 2017-12-01 18:40:05.000000000 +0000 @@ -18,7 +18,7 @@ override_dh_auto_test: (cd gtest && cmake . && $(MAKE) ) (cd $(OSLOGIN_DIR)/utils && \ - $(CXX) $(CXXFLAGS) -L../../gtest -o test_runner oslogin_utils_test.cc oslogin_utils.cc -lcurl -ljson-c -lgtest -lpthread && \ + $(CXX) $(CXXFLAGS) -L../../gtest -o test_runner oslogin_utils_test.cc oslogin_utils.cc -I/usr/include/json-c -lcurl -ljson-c -lgtest -lpthread && \ ./test_runner && \ rm test_runner) diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/accounts/oslogin_utils.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/accounts/oslogin_utils.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/accounts/oslogin_utils.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/accounts/oslogin_utils.py 2017-11-29 19:17:58.000000000 +0000 @@ -82,9 +82,9 @@ if enable: action = 'activate' - self.logger.warning('Activating OS Login.') + self.logger.info('Activating OS Login.') else: action = 'deactivate' - self.logger.warning('Deactivating OS Login.') + self.logger.info('Deactivating OS Login.') return self._RunOsLoginControl(action) diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/accounts/tests/oslogin_utils_test.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/accounts/tests/oslogin_utils_test.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/accounts/tests/oslogin_utils_test.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/accounts/tests/oslogin_utils_test.py 2017-11-29 19:17:58.000000000 +0000 @@ -128,7 +128,7 @@ oslogin_utils.OsLoginUtils.UpdateOsLogin(self.mock_oslogin, True) expected_calls = [ mock.call.oslogin._GetStatus(), - mock.call.logger.warning(mock.ANY), + mock.call.logger.info(mock.ANY), mock.call.oslogin._RunOsLoginControl('activate'), ] self.assertEqual(mocks.mock_calls, expected_calls) @@ -143,7 +143,7 @@ oslogin_utils.OsLoginUtils.UpdateOsLogin(self.mock_oslogin, False) expected_calls = [ mock.call.oslogin._GetStatus(), - mock.call.logger.warning(mock.ANY), + mock.call.logger.info(mock.ANY), mock.call.oslogin._RunOsLoginControl('deactivate'), ] self.assertEqual(mocks.mock_calls, expected_calls) diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/instance_setup/instance_config.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/instance_setup/instance_config.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/instance_setup/instance_config.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/instance_setup/instance_config.py 2017-11-29 19:17:58.000000000 +0000 @@ -72,6 +72,7 @@ 'instance_id': '0', }, 'InstanceSetup': { + 'host_key_types': 'ecdsa,ed25519,rsa', 'optimize_local_ssd': 'true', 'network_enabled': 'true', 'set_boto_config': 'true', diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/instance_setup/instance_setup.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/instance_setup/instance_setup.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/instance_setup/instance_setup.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/instance_setup/instance_setup.py 2017-11-29 19:17:58.000000000 +0000 @@ -27,7 +27,6 @@ from google_compute_engine import file_utils from google_compute_engine import logger from google_compute_engine import metadata_watcher - from google_compute_engine.boto import boto_config from google_compute_engine.instance_setup import instance_config @@ -55,7 +54,9 @@ self.instance_config = instance_config.InstanceConfig( logger=self.logger, instance_config_metadata=instance_config_metadata) if self.instance_config.GetOptionBool('InstanceSetup', 'set_host_keys'): - self._SetSshHostKeys() + host_key_types = self.instance_config.GetOptionString( + 'InstanceSetup', 'host_key_types') + self._SetSshHostKeys(host_key_types=host_key_types) if self.instance_config.GetOptionBool('InstanceSetup', 'set_boto_config'): self._SetupBotoConfig() if self.instance_config.GetOptionBool( @@ -155,13 +156,16 @@ subprocess.call(['service', 'sshd', 'start']) subprocess.call(['service', 'sshd', 'reload']) - def _SetSshHostKeys(self): + def _SetSshHostKeys(self, host_key_types=None): """Regenerates SSH host keys when the VM is restarted with a new IP address. Booting a VM from an image with a known SSH key allows a number of attacks. This function will regenerating the host key whenever the IP address changes. This applies the first time the instance is booted, and each time the disk is used to boot a new instance. + + Args: + host_key_types: string, a comma separated list of host key types. """ section = 'Instance' instance_id = self._GetInstanceId() @@ -171,7 +175,9 @@ file_regex = re.compile(r'ssh_host_(?P[a-z0-9]*)_key\Z') key_dir = '/etc/ssh' key_files = [f for f in os.listdir(key_dir) if file_regex.match(f)] - for key_file in key_files: + key_types = host_key_types.split(',') if host_key_types else [] + key_types_files = ['ssh_host_%s_key' % key_type for key_type in key_types] + for key_file in set(key_files) | set(key_types_files): key_type = file_regex.match(key_file).group('type') key_dest = os.path.join(key_dir, key_file) self._GenerateSshKey(key_type, key_dest) diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/instance_setup/tests/instance_setup_test.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/instance_setup/tests/instance_setup_test.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/instance_setup/tests/instance_setup_test.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/instance_setup/tests/instance_setup_test.py 2017-11-29 19:17:58.000000000 +0000 @@ -49,6 +49,7 @@ mock_watcher.MetadataWatcher.return_value = mock_watcher_instance mock_config_instance = mock.Mock() mock_config_instance.GetOptionBool.return_value = True + mock_config_instance.GetOptionString.return_value = 'type' mock_config.InstanceConfig.return_value = mock_config_instance mock_setup._GetInstanceConfig.return_value = 'config' @@ -70,7 +71,9 @@ # Setup for SSH host keys if necessary. mock.call.config.InstanceConfig().GetOptionBool( 'InstanceSetup', 'set_host_keys'), - mock.call.setup._SetSshHostKeys(), + mock.call.config.InstanceConfig().GetOptionString( + 'InstanceSetup', 'host_key_types'), + mock.call.setup._SetSshHostKeys(host_key_types='type'), # Setup for the boto config if necessary. mock.call.config.InstanceConfig().GetOptionBool( 'InstanceSetup', 'set_boto_config'), @@ -325,7 +328,7 @@ self.mock_setup._GenerateSshKey = mock_generate_key mock_listdir.return_value = [ 'ssh_config', - 'ssh_host_rsa_key', + 'ssh_host_dsa_key', 'ssh_host_dsa_key.pub', 'ssh_host_ed25519_key', 'ssh_host_ed25519_key.pub', @@ -333,13 +336,15 @@ 'ssh_host_rsa_key.pub', ] - instance_setup.InstanceSetup._SetSshHostKeys(self.mock_setup) + instance_setup.InstanceSetup._SetSshHostKeys( + self.mock_setup, host_key_types='rsa,dsa,abc') expected_calls = [ - mock.call('rsa', '/etc/ssh/ssh_host_rsa_key'), + mock.call('abc', '/etc/ssh/ssh_host_abc_key'), + mock.call('dsa', '/etc/ssh/ssh_host_dsa_key'), mock.call('ed25519', '/etc/ssh/ssh_host_ed25519_key'), mock.call('rsa', '/etc/ssh/ssh_host_rsa_key'), ] - self.assertEqual(mock_generate_key.mock_calls, expected_calls) + self.assertEqual(sorted(mock_generate_key.mock_calls), expected_calls) self.mock_instance_config.SetOption.assert_called_once_with( 'Instance', 'instance_id', '123') diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/ip_forwarding/ip_forwarding_daemon.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/ip_forwarding/ip_forwarding_daemon.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/ip_forwarding/ip_forwarding_daemon.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/ip_forwarding/ip_forwarding_daemon.py 2017-11-29 19:17:58.000000000 +0000 @@ -36,7 +36,6 @@ from google_compute_engine import logger from google_compute_engine import metadata_watcher from google_compute_engine import network_utils - from google_compute_engine.ip_forwarding import ip_forwarding_utils LOCKFILE = constants.LOCALSTATEDIR + '/lock/google_ip_forwarding.lock' diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine/metadata_scripts/script_manager.py gce-compute-image-packages-20171129+dfsg1/google_compute_engine/metadata_scripts/script_manager.py --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine/metadata_scripts/script_manager.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine/metadata_scripts/script_manager.py 2017-11-29 19:17:58.000000000 +0000 @@ -23,7 +23,6 @@ from google_compute_engine import config_manager from google_compute_engine import logger - from google_compute_engine.metadata_scripts import script_executor from google_compute_engine.metadata_scripts import script_retriever diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/bin/google_oslogin_control gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/bin/google_oslogin_control --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/bin/google_oslogin_control 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/bin/google_oslogin_control 2017-11-29 19:17:58.000000000 +0000 @@ -85,9 +85,9 @@ add_to_pam_config() { remove_from_config ${pam_config} - sed -i "/pam_nologin.so/ a${added_comment}\n${pam_admin}" ${pam_config}.new - sed -i "/pam_nologin.so/ a${added_comment}\n${pam_login}" ${pam_config}.new - sed -i "/pam_selinux.so close/ a${pam_homedir}" ${pam_config}.new + sed -i "/account.*pam_nologin.so/ a${added_comment}\n${pam_admin}" ${pam_config}.new + sed -i "/account.*pam_nologin.so/ a${added_comment}\n${pam_login}" ${pam_config}.new + sed -i "/pam_loginuid.so/ a${added_comment}\n${pam_homedir}" ${pam_config}.new } restart_service() { diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/Makefile gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/Makefile --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/Makefile 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/Makefile 2017-11-29 19:17:58.000000000 +0000 @@ -4,7 +4,7 @@ NAME = google-compute-engine-$(BASENAME) MAJOR = 1 MINOR = 1 -REVISION = 1 +REVISION = 2 NSS_LIBRARY_NAME = libnss_$(NAME)-$(MAJOR).$(MINOR).$(REVISION).so NSS_LIBRARY_SONAME = libnss_$(BASENAME).so.2 @@ -12,10 +12,13 @@ PAM_INSTALL_PATH = /lib/security AUTHKEYS_INSTALL_PATH = /usr/bin +JSON_INCLUDE_PATH = /usr/include/json-c +INCLUDE_FLAGS = -I$(JSON_INCLUDE_PATH) + CXX = g++ CXXFLAGS += -fPIC# -Wall -PAMFLAGS = $(LDFLAGS) -shared -NSSFLAGS = $(LDFLAGS) -shared -Wl,-soname,$(NSS_LIBRARY_SONAME) +PAMFLAGS = $(LDFLAGS) $(INCLUDE_FLAGS) -shared +NSSFLAGS = $(LDFLAGS) $(INCLUDE_FLAGS) -shared -Wl,-soname,$(NSS_LIBRARY_SONAME) # UTILS UTILS_DIR = utils @@ -86,10 +89,10 @@ $(CXX) $(CXXFLAGS) -c $(PAM_ADMIN_SRC) -o $(PAM_ADMIN_OBJ) $(AUTHKEYS_BIN): $(AUTHKEYS_SRC) $(UTILS_SRC) - $(CXX) $(LDFLAGS) -o $(AUTHKEYS_BIN) $(AUTHKEYS_SRC) $(UTILS_SRC) $(LIBS) + $(CXX) $(LDFLAGS) $(INCLUDE_FLAGS) -o $(AUTHKEYS_BIN) $(AUTHKEYS_SRC) $(UTILS_SRC) $(LIBS) $(UTILS): $(UTILS_SRC) - $(CXX) $(CXXFLAGS) -c $(UTILS_SRC) -o $(UTILS) + $(CXX) $(CXXFLAGS) $(INCLUDE_FLAGS) -c $(UTILS_SRC) -o $(UTILS) $(SELINUX_MOD_FILE): $(SELINUX_MODULE_SRC) checkmodule -M -m -o $(SELINUX_MOD_FILE) $(SELINUX_MODULE_SRC) diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian8/changelog gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian8/changelog --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian8/changelog 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian8/changelog 2017-11-29 19:17:58.000000000 +0000 @@ -1,3 +1,10 @@ +google-compute-engine-oslogin (1.1.2-1+deb8) unstable; urgency=low + + * Fix parsing logic for expiration time on SSH public keys. + * Fix home directory creation PAM config. + + -- MAINTAINER Wed, 29 Nov 2017 12:00:00 -0700 + google-compute-engine-oslogin (1.1.1-1+deb8) unstable; urgency=low * Remove logging when checking OS Login status. diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian8/google-compute-engine-oslogin.links gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian8/google-compute-engine-oslogin.links --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian8/google-compute-engine-oslogin.links 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian8/google-compute-engine-oslogin.links 2017-11-29 19:17:58.000000000 +0000 @@ -1 +1 @@ -/lib/libnss_google-compute-engine-oslogin-1.1.1.so /lib/libnss_oslogin.so.2 +/lib/libnss_google-compute-engine-oslogin-1.1.2.so /lib/libnss_oslogin.so.2 diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian9/changelog gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian9/changelog --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian9/changelog 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian9/changelog 2017-11-29 19:17:58.000000000 +0000 @@ -1,3 +1,10 @@ +google-compute-engine-oslogin (1.1.2-1+deb9) unstable; urgency=low + + * Fix parsing logic for expiration time on SSH public keys. + * Fix home directory creation PAM config. + + -- MAINTAINER Wed, 29 Nov 2017 12:00:00 -0700 + google-compute-engine-oslogin (1.1.1-1+deb9) unstable; urgency=low * Remove logging when checking OS Login status. diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian9/google-compute-engine-oslogin.links gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian9/google-compute-engine-oslogin.links --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/debian9/google-compute-engine-oslogin.links 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/debian9/google-compute-engine-oslogin.links 2017-11-29 19:17:58.000000000 +0000 @@ -1 +1 @@ -/lib/libnss_google-compute-engine-oslogin-1.1.1.so /lib/libnss_oslogin.so.2 +/lib/libnss_google-compute-engine-oslogin-1.1.2.so /lib/libnss_oslogin.so.2 diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/rpmbuild/SPECS/google-compute-engine-oslogin.spec gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/rpmbuild/SPECS/google-compute-engine-oslogin.spec --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/rpmbuild/SPECS/google-compute-engine-oslogin.spec 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/rpmbuild/SPECS/google-compute-engine-oslogin.spec 2017-11-29 19:17:58.000000000 +0000 @@ -13,7 +13,7 @@ # limitations under the License. Name: google-compute-engine-oslogin -Version: 1.1.1 +Version: 1.1.2 Release: 1%{?dist} Summary: OS Login Functionality for Google Compute Engine diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/setup_deb.sh gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/setup_deb.sh --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/setup_deb.sh 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/setup_deb.sh 2017-11-29 19:17:58.000000000 +0000 @@ -20,7 +20,7 @@ # Run from the top of the source directory. NAME="google-compute-engine-oslogin" -VERSION="1.1.1" +VERSION="1.1.2" working_dir=${PWD} diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/setup_rpm.sh gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/setup_rpm.sh --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/packaging/setup_rpm.sh 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/packaging/setup_rpm.sh 2017-11-29 19:17:58.000000000 +0000 @@ -20,7 +20,7 @@ # Run from the top of the source directory. NAME="google-compute-engine-oslogin" -VERSION="1.1.1" +VERSION="1.1.2" working_dir=${PWD} rpm_working_dir=/tmp/rpmpackage/${NAME}-${VERSION} diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils.cc gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils.cc --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils.cc 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils.cc 2017-11-29 19:17:58.000000000 +0000 @@ -15,7 +15,7 @@ // Requires libcurl4-openssl-dev libjson0 and libjson0-dev #include #include -#include +#include #include #include #include @@ -279,7 +279,7 @@ } key_to_add = (char*)json_object_get_string(val); } - if (string_key == "expiration_time_usec") { + if (string_key == "expirationTimeUsec") { if (val_type == json_type_int || val_type == json_type_string) { uint64_t expiry_usec = (uint64_t)json_object_get_int64(val); struct timeval tp; diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils_test.cc gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils_test.cc --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils_test.cc 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/utils/oslogin_utils_test.cc 2017-11-29 19:17:58.000000000 +0000 @@ -372,7 +372,7 @@ string test_user = "{\"loginProfiles\":[{\"name\":\"foo@example.com\",\"sshPublicKeys\":" "{\"fingerprint\": {\"key\": \"test_key\"}, \"fingerprint2\": {\"key\": " - "\"test_key2\", \"expiration_time_usec\": 0}}}]}"; + "\"test_key2\", \"expirationTimeUsec\": 0}}}]}"; size_t buflen = 200; char* buffer = (char*)malloc(buflen * sizeof(char)); @@ -388,7 +388,7 @@ string test_user = "{\"loginProfiles\":[{\"name\":\"foo@example.com\",\"sshPublicKeys\":" "{\"fingerprint\": {\"key\": \"test_key\"}, \"fingerprint2\": {\"key\": " - "\"test_key2\", \"expiration_time_usec\": \"bad_stuff\"}}}]}"; + "\"test_key2\", \"expirationTimeUsec\": \"bad_stuff\"}}}]}"; size_t buflen = 200; char* buffer = (char*)malloc(buflen * sizeof(char)); diff -Nru gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/utils/run_tests.sh gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/utils/run_tests.sh --- gce-compute-image-packages-20171025+dfsg1/google_compute_engine_oslogin/utils/run_tests.sh 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/google_compute_engine_oslogin/utils/run_tests.sh 2017-11-29 19:17:58.000000000 +0000 @@ -14,6 +14,6 @@ # limitations under the License. # Unit tests require gtest to be installed. -g++ -o test_runner oslogin_utils_test.cc oslogin_utils.cc -lcurl -ljson -lgtest -lpthread +g++ -o test_runner oslogin_utils_test.cc oslogin_utils.cc -I/usr/include/json-c -lcurl -ljson -lgtest -lpthread ./test_runner rm ./test_runner diff -Nru gce-compute-image-packages-20171025+dfsg1/README.md gce-compute-image-packages-20171129+dfsg1/README.md --- gce-compute-image-packages-20171025+dfsg1/README.md 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/README.md 2017-11-29 19:17:58.000000000 +0000 @@ -236,30 +236,32 @@ The following are valid user configuration options. -Section | Option | Value ------------------ | -------------------- | ----- -Accounts | deprovision\_remove | `true` makes deprovisioning a user destructive. -Accounts | groups | Comma separated list of groups for newly provisioned users. -Accounts | useradd\_cmd | Command string to create a new user. -Accounts | userdel\_cmd | Command string to delete a user. -Accounts | usermod\_cmd | Command string to modify a user's groups. -Accounts | groupadd\_cmd | Command string to create a new group. -Daemons | accounts\_daemon | `false` disables the accounts daemon. +Section | Option | Value +----------------- | ---------------------- | ----- +Accounts | deprovision\_remove | `true` makes deprovisioning a user destructive. +Accounts | groups | Comma separated list of groups for newly provisioned users. +Accounts | useradd\_cmd | Command string to create a new user. +Accounts | userdel\_cmd | Command string to delete a user. +Accounts | usermod\_cmd | Command string to modify a user's groups. +Accounts | groupadd\_cmd | Command string to create a new group. +Daemons | accounts\_daemon | `false` disables the accounts daemon. Daemons | clock\_skew\_daemon | `false` disables the clock skew daemon. Daemons | ip\_forwarding\_daemon | `false` disables the IP forwarding daemon. +InstanceSetup | host\_key\_types | Comma separated list of host key types to generate. InstanceSetup | optimize\_local\_ssd | `false` prevents optimizing for local SSD. -InstanceSetup | network\_enabled | `false` skips instance setup functions that require metadata. +InstanceSetup | network\_enabled | `false` skips instance setup functions that require metadata. InstanceSetup | set\_boto\_config | `false` skips setting up a `boto` config. InstanceSetup | set\_host\_keys | `false` skips generating host keys on first boot. -InstanceSetup | set\_multiqueue | `false` skips multiqueue driver support. +InstanceSetup | set\_multiqueue | `false` skips multiqueue driver support. IpForwarding | ethernet\_proto\_id | Protocol ID string for daemon added routes. -IpForwarding | ip\_aliases | `false` disables setting up alias IP routes. +IpForwarding | ip\_aliases | `false` disables setting up alias IP routes. IpForwarding | target\_instance\_ips | `false` disables internal IP address load balancing. -MetadataScripts | run\_dir | String base directory where metadata scripts are executed. -MetadataScripts | startup | `false` disables startup script execution. -MetadataScripts | shutdown | `false` disables shutdown script execution. -NetworkInterfaces | dhcp\_command | String to execute to enable network interfaces. -NetworkInterfaces | setup | `false` disables network interface setup. +MetadataScripts | run\_dir | String base directory where metadata scripts are executed. +MetadataScripts | startup | `false` disables startup script execution. +MetadataScripts | shutdown | `false` disables shutdown script execution. +NetworkInterfaces | dhclient\_script | String path to a dhclient script used by dhclient. +NetworkInterfaces | dhcp\_command | String to execute to enable network interfaces. +NetworkInterfaces | setup | `false` disables network interface setup. Setting `network_enabled` to `false` will skip setting up host keys and the `boto` config in the guest. The setting may also prevent startup and shutdown diff -Nru gce-compute-image-packages-20171025+dfsg1/setup.py gce-compute-image-packages-20171129+dfsg1/setup.py --- gce-compute-image-packages-20171025+dfsg1/setup.py 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/setup.py 2017-11-29 19:17:58.000000000 +0000 @@ -32,7 +32,7 @@ packages=setuptools.find_packages(), scripts=glob.glob('scripts/*'), url='https://github.com/GoogleCloudPlatform/compute-image-packages', - version='2.7.1', + version='2.7.2', # Entry points create scripts in /usr/bin that call a function. entry_points={ 'console_scripts': [ diff -Nru gce-compute-image-packages-20171025+dfsg1/specs/google-compute-engine.spec gce-compute-image-packages-20171129+dfsg1/specs/google-compute-engine.spec --- gce-compute-image-packages-20171025+dfsg1/specs/google-compute-engine.spec 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/specs/google-compute-engine.spec 2017-11-29 19:17:58.000000000 +0000 @@ -18,7 +18,7 @@ %endif Name: google-compute-engine -Version: 2.7.1 +Version: 2.7.2 Release: 1%{?dist} Summary: Google Compute Engine guest environment. License: ASL 2.0 @@ -34,7 +34,7 @@ Requires: curl Requires: google-compute-engine-oslogin Requires: ntp -Requires: python-google-compute-engine +Requires: python-google-compute-engine = %{version} Requires: python-setuptools Requires: rsyslog %if 0%{?el7} diff -Nru gce-compute-image-packages-20171025+dfsg1/specs/python-google-compute-engine.spec gce-compute-image-packages-20171129+dfsg1/specs/python-google-compute-engine.spec --- gce-compute-image-packages-20171025+dfsg1/specs/python-google-compute-engine.spec 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/specs/python-google-compute-engine.spec 2017-11-29 19:17:58.000000000 +0000 @@ -18,7 +18,7 @@ %endif Name: python-google-compute-engine -Version: 2.7.1 +Version: 2.7.2 Release: 1%{?dist} Summary: Google Compute Engine python library License: ASL 2.0 diff -Nru gce-compute-image-packages-20171025+dfsg1/.travis.yml gce-compute-image-packages-20171129+dfsg1/.travis.yml --- gce-compute-image-packages-20171025+dfsg1/.travis.yml 2017-10-25 18:40:23.000000000 +0000 +++ gce-compute-image-packages-20171129+dfsg1/.travis.yml 2017-11-29 19:17:58.000000000 +0000 @@ -1,7 +1,6 @@ language: python sudo: true python: -- 2.6 - 2.7 - 3.3 - 3.4