diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19.tar.gz b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19.tar.gz deleted file mode 100644 index 4cb685de3..000000000 Binary files a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19.tar.gz and /dev/null differ diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_all.deb b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_all.deb deleted file mode 100644 index f6acd07d4..000000000 Binary files a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_all.deb and /dev/null differ diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_amd64.changes b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_amd64.changes deleted file mode 100644 index 8a50927ca..000000000 --- a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_amd64.changes +++ /dev/null @@ -1,106 +0,0 @@ -Format: 1.8 -Date: Sun, 11 Oct 2026 10:30:00 +0200 -Source: linuxmuster-tools7 -Binary: linuxmuster-tools7 -Built-For-Profiles: noudeb -Architecture: source all -Version: 7.4.19 -Distribution: lmn74 -Urgency: medium -Maintainer: Arnaud Kientz -Changed-By: Arnaud Kientz -Description: - linuxmuster-tools7 - Tools for the linuxmuster.net 7 server. -Changes: - linuxmuster-tools7 (7.4.19) lmn74; urgency=medium - . - * [security] [quotas] get_user_quotas() passes the administrator - password to smbcquotas through the PASSWD environment variable - instead of its argv, where any local user could read it in the - process list. - * [security] [linbo] The .macct files of an uploaded image, which hold - the Samba secrets of a client, are set to 0600 in the image - directory and in its backups, and the .incoming staging directory - to 0700: the [linbo] rsync module serves the LINBO directory - without login. See #44, reported by @TomlDev. - * [devices] New validator for devices.csv. Devices.check_conf() - reports every problem instead of a flat list of sentences, and - returns a dict (valid, counts, findings, report) instead of a list - of strings or False: callers have to adapt. Each finding carries a - stable code to branch on (e.g. hostname.too_long), the offending - value, and the file and line to fix. The report holds one short - line per problem, e.g. "❌ ip.invalid 999.999.999.999 - (devices.csv:12)". The 15 characters limit of a hostname only - applies to the roles getting a machine account. The new - check_all_schools() validates every school at once, the only way to - see a host name or a mac address used in two schools; an ip address - shared between two schools is a warning only (ip.multischool), a - fileserver legitimately carries the same one in each. The - module-level COMPUTER_ROLES variable is removed. - * [devices] Each device exposes macRaw, the address as written in the - file (mac is None for a malformed one), and csvLine, its physical - line in devices.csv. - * [lmnconfig] sophomorix.ini is read with its tabs expanded: - configparser read a key indented deeper than the previous one as a - continuation of its value, and 53 keys of the shipped file were - lost that way, among them the COMPUTER_ACCOUNT of all 15 computer - roles. - * [lmnconfig] New SophomorixIni.computer_roles: the computer roles - split on their COMPUTER_ACCOUNT flag (accounts, dns_only), the - default role and the full list (roles). SophomorixIni.computerrole - is deprecated in favour of computer_roles.roles. - * [lmnconfig] custom_fields.yml is cached per school and read again - only when its mtime changes. The ldapconnector parsed it on every - request: listing all users with /users went from 13 s to under a - second. - * [common] New natural sorting helpers, natural_key() and - sort_naturally(): m5 comes before m10, and r100-pc5 before - r100-pc10. With digitless_last=True, names without any digit come - last (5a, 10b, abitur). Applied to the sortkey of the ldap_reader, - the schoolclasses, projects and printers of a user, the lists of - Devices, the LINBO images and list_workstations(). - * [common] A LINBO group name may only hold letters, digits, _ and -, - as sophomorix-device accepts it: . and + are refused. - * [linbo] initcache is accepted with or without a download type; - without one, linbo-remote takes the one of the start.conf. It - could never pass the command check before. Fix #42, reported by - @TomlDev. - * [linbo] LINBO change tracker: a file changed in the same second as - the cursor or during the scan was never reported; it now can be - reported twice, never lost. A file whose mtime can not be read - counts as changed. The deletedHosts and deletedStartConfs fields, - always empty, are removed: a deleted entry is the one missing from - allHostMacs or allStartConfIds. Fix #38, reported by @TomlDev. - * [linbo] New list_onboot_commands(), get_onboot_command() and - delete_onboot_command(), to read and withdraw the commands - linbo-remote -p leaves for a host's next boot. - * [linbo] New restart_image_services(), restarting linbo-multicast and - linbo-torrent after a change on an image, and raising on failure - instead of failing silently. - * [lmnfile] LMNFile accepts a pathlib.Path as well as a str, and its - __init__ runs once instead of twice per instantiation. - * [lmnfile] CSV files expose line_numbers, the physical line of each - row returned by read(). - * [ldapconnector] Creating the Student-Parents OU failed when the - Parents OU of the school had no child OU yet; its DN is now built - from the school instead of the DN of the student. - * [packaging] postinst no longer runs create_students_groups.py on - every upgrade: the subgroups of the schoolclasses are kept in sync - by sophomorix, and the sweep was slow and failed the whole package - configuration whenever LDAP was down. The script is deprecated, use - "lmncli schoolclass sync" to repair a class. -Checksums-Sha1: - 5982ca0198e310063efa1940a911331739737f68 583 linuxmuster-tools7_7.4.19.dsc - 00ae7bd36d6736236a0bc0c5d886db3656ea43f9 334618 linuxmuster-tools7_7.4.19.tar.gz - f15f0c32ac0c929d8a0179bf555f02885f4a1c2d 251308 linuxmuster-tools7_7.4.19_all.deb - 866fd4ffae3de1e775926617028f916de293ea35 7756 linuxmuster-tools7_7.4.19_amd64.buildinfo -Checksums-Sha256: - 206e1c2ff3b1c9007df15cd083939580c3d2858a5265ae067a0f6975d6add920 583 linuxmuster-tools7_7.4.19.dsc - fb065bc6193bec2f06e70f355be11517b381d13bdf3a771479b2ba091d9c3d6a 334618 linuxmuster-tools7_7.4.19.tar.gz - 73b146792b4009e0bde36117a97ab326f2460f5583daf5ba0c247ff910ccbb76 251308 linuxmuster-tools7_7.4.19_all.deb - a9f48ddcc1751b863e9392327c4d0102c3d3fd22230283dafaf37cc9df819691 7756 linuxmuster-tools7_7.4.19_amd64.buildinfo -Files: - 5d72a9c6abc88cbc569734f149d58559 583 linuxmuster optional linuxmuster-tools7_7.4.19.dsc - 28b69848b975d24ba92af282103c7f06 334618 linuxmuster optional linuxmuster-tools7_7.4.19.tar.gz - e0b78c08eac76f8447797506b0041b7b 251308 linuxmuster optional linuxmuster-tools7_7.4.19_all.deb - 364db712d01554b553dab856eb07c49c 7756 linuxmuster optional linuxmuster-tools7_7.4.19_amd64.buildinfo diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19.dsc b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20.dsc similarity index 52% rename from packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19.dsc rename to packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20.dsc index 1d307ec6b..fe304a66a 100644 --- a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19.dsc +++ b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20.dsc @@ -2,15 +2,15 @@ Format: 1.0 Source: linuxmuster-tools7 Binary: linuxmuster-tools7 Architecture: all -Version: 7.4.19 +Version: 7.4.20 Maintainer: Arnaud Kientz Standards-Version: 5.0.0 Build-Depends: debhelper (>= 5.0.0) Package-List: linuxmuster-tools7 deb linuxmuster optional arch=all Checksums-Sha1: - 00ae7bd36d6736236a0bc0c5d886db3656ea43f9 334618 linuxmuster-tools7_7.4.19.tar.gz + b035183f02f7ba4f15181294f59e385a4be74c32 343733 linuxmuster-tools7_7.4.20.tar.gz Checksums-Sha256: - fb065bc6193bec2f06e70f355be11517b381d13bdf3a771479b2ba091d9c3d6a 334618 linuxmuster-tools7_7.4.19.tar.gz + 16d671edb4b02aae43765b9e999788d20fbca25d7363a1ac44b25e1c9880bcef 343733 linuxmuster-tools7_7.4.20.tar.gz Files: - 28b69848b975d24ba92af282103c7f06 334618 linuxmuster-tools7_7.4.19.tar.gz + 529db7b1204288aee2cc8a1105ecef2a 343733 linuxmuster-tools7_7.4.20.tar.gz diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20.tar.gz b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20.tar.gz new file mode 100644 index 000000000..c7c18bdfd Binary files /dev/null and b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20.tar.gz differ diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_all.deb b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_all.deb new file mode 100644 index 000000000..33fad5929 Binary files /dev/null and b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_all.deb differ diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_amd64.buildinfo b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_amd64.buildinfo similarity index 91% rename from packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_amd64.buildinfo rename to packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_amd64.buildinfo index 27bc1e9d6..e3562e7c8 100644 --- a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.19_amd64.buildinfo +++ b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_amd64.buildinfo @@ -2,19 +2,19 @@ Format: 1.0 Source: linuxmuster-tools7 Binary: linuxmuster-tools7 Architecture: all source -Version: 7.4.19 +Version: 7.4.20 Checksums-Md5: - 5d72a9c6abc88cbc569734f149d58559 583 linuxmuster-tools7_7.4.19.dsc - e0b78c08eac76f8447797506b0041b7b 251308 linuxmuster-tools7_7.4.19_all.deb + 877266984eb643d1b0092e96526d149c 583 linuxmuster-tools7_7.4.20.dsc + b41890d6edc9daa0bbca7d4e4e7018d9 257430 linuxmuster-tools7_7.4.20_all.deb Checksums-Sha1: - 5982ca0198e310063efa1940a911331739737f68 583 linuxmuster-tools7_7.4.19.dsc - f15f0c32ac0c929d8a0179bf555f02885f4a1c2d 251308 linuxmuster-tools7_7.4.19_all.deb + 98e77a808fbd142a2f4d2a7ac885a981dcf19cff 583 linuxmuster-tools7_7.4.20.dsc + c2b93df6be68868ef2caa950adba1f6378ee5eab 257430 linuxmuster-tools7_7.4.20_all.deb Checksums-Sha256: - 206e1c2ff3b1c9007df15cd083939580c3d2858a5265ae067a0f6975d6add920 583 linuxmuster-tools7_7.4.19.dsc - 73b146792b4009e0bde36117a97ab326f2460f5583daf5ba0c247ff910ccbb76 251308 linuxmuster-tools7_7.4.19_all.deb + fa20c5ce021bc6f314678fdb4e2354dbdb17a5c0b64db8bcdda4a39f4078ae70 583 linuxmuster-tools7_7.4.20.dsc + f01d2253717c89504583ed0daa7868a2281b15aaeb0b52d818f5560789ff88a4 257430 linuxmuster-tools7_7.4.20_all.deb Build-Origin: Ubuntu Build-Architecture: amd64 -Build-Date: Sun, 11 Oct 2026 08:40:30 +0000 +Build-Date: Sun, 25 Oct 2026 21:57:05 +0000 Build-Tainted-By: merged-usr-via-aliased-dirs usr-local-has-includes @@ -181,7 +181,7 @@ Installed-Build-Depends: libudev1 (= 255.4-1ubuntu8.17), libunistring5 (= 1.1-2build1.1), libuuid1 (= 2.39.3-9ubuntu6.6), - libxml2 (= 2.9.14+dfsg-1.3ubuntu3.9), + libxml2 (= 2.9.14+dfsg-1.3ubuntu3.10), libzstd1 (= 1.5.5+dfsg2-2build1.1), linux-libc-dev (= 6.8.0-146.146), llvm-16-linker-tools (= 1:16.0.6-23ubuntu4), @@ -214,4 +214,4 @@ Environment: DEB_BUILD_PROFILES="noudeb" LANG="C.UTF-8" MAKEFLAGS="" - SOURCE_DATE_EPOCH="1791707400" + SOURCE_DATE_EPOCH="1792964700" diff --git a/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_amd64.changes b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_amd64.changes new file mode 100644 index 000000000..8d1b9ab74 --- /dev/null +++ b/packages/linuxmuster-tools7/lmn74/linuxmuster-tools7_7.4.20_amd64.changes @@ -0,0 +1,73 @@ +Format: 1.8 +Date: Sun, 25 Oct 2026 22:45:00 +0100 +Source: linuxmuster-tools7 +Binary: linuxmuster-tools7 +Built-For-Profiles: noudeb +Architecture: source all +Version: 7.4.20 +Distribution: lmn74 +Urgency: medium +Maintainer: Arnaud Kientz +Changed-By: Arnaud Kientz +Description: + linuxmuster-tools7 - Tools for the linuxmuster.net 7 server. +Changes: + linuxmuster-tools7 (7.4.20) lmn74; urgency=medium + . + * [security] [linbo] get_onboot_command() never returns the + "linbo:" entry written by linbo-remote -p before an + upload: it is the LINBO rsync password in clear. See + linuxmuster-api#51, reported by @TomlDev. + * [linbo] Deleting an image removes its whole directory, backups, + differential image and any file added by hand included, instead of + its known files only, which left the directory behind. An image + whose .info is missing or incomplete can be deleted too. The path is + checked to be a directory below /srv/linbo before removal. Fix #39, + reported by @TomlDev. + * [linbo] New last_start(workstation), the last OS start of a client + and the name of the OS, read from its _linbo.log, or from + the last rotated .1.gz if the current log holds none. + last_sync_all() gets a laststart parameter filling lastStart for + each host. + * [linbo] New LinboBootLogs.latest_remote_log(), the log of the last + linbo-remote run of a host: linuxmuster-linbo7 7.4.18 writes one log + per run, the former .linbo-remote is still read as a + fallback. + * [linbo] LinboRemote accepts the linbo-remote command + image_name: of linuxmuster-linbo7 7.4.21, creating or uploading + an image under a new name. It refuses it, as linbo-remote does, + without a following create_image/upload_image and with a qdiff + command. Fix #46, reported by @HappyBasher. + * [linbo] A missing SyncEnabled, NewEnabled or StartEnabled in a + start.conf is read as yes, as LINBO does, instead of raising a + KeyError. + * [devices] The validator reports a LINBO group containing '__' + (group.reserved_separator): LINBO names the group of a non default + school __. + * [samba_util] last_login() gives the hostname of each login, resolved + from the devices.csv of all schools, and leaves out the + administrator account. + * [lmnconfig] New load_shares(), reading again the shares and their + DFS targets, so far only read at import. get_user_quotas() calls it + once when a share is not found, e.g. after it was moved to a + fileserver while linuxmuster-api was running. + * [quotas] list_user_files() no longer matches a directory whose name + only starts with the one looked for. + * [print] LatexRenderer raises UnknownTemplateTypeError for a template + type it does not know, instead of failing later on an undefined + output file. +Checksums-Sha1: + 98e77a808fbd142a2f4d2a7ac885a981dcf19cff 583 linuxmuster-tools7_7.4.20.dsc + b035183f02f7ba4f15181294f59e385a4be74c32 343733 linuxmuster-tools7_7.4.20.tar.gz + c2b93df6be68868ef2caa950adba1f6378ee5eab 257430 linuxmuster-tools7_7.4.20_all.deb + 8a6c58750a10f7b2e39ad73dffe63c823879c5fa 7757 linuxmuster-tools7_7.4.20_amd64.buildinfo +Checksums-Sha256: + fa20c5ce021bc6f314678fdb4e2354dbdb17a5c0b64db8bcdda4a39f4078ae70 583 linuxmuster-tools7_7.4.20.dsc + 16d671edb4b02aae43765b9e999788d20fbca25d7363a1ac44b25e1c9880bcef 343733 linuxmuster-tools7_7.4.20.tar.gz + f01d2253717c89504583ed0daa7868a2281b15aaeb0b52d818f5560789ff88a4 257430 linuxmuster-tools7_7.4.20_all.deb + 1b33712ed0728f368aae5c398f27a4a83aa2ada521afe2d787f1db49204f4da1 7757 linuxmuster-tools7_7.4.20_amd64.buildinfo +Files: + 877266984eb643d1b0092e96526d149c 583 linuxmuster optional linuxmuster-tools7_7.4.20.dsc + 529db7b1204288aee2cc8a1105ecef2a 343733 linuxmuster optional linuxmuster-tools7_7.4.20.tar.gz + b41890d6edc9daa0bbca7d4e4e7018d9 257430 linuxmuster optional linuxmuster-tools7_7.4.20_all.deb + 13eb667b5f2b4978628e0f05e60631ba 7757 linuxmuster optional linuxmuster-tools7_7.4.20_amd64.buildinfo