Changeset 1238
- Timestamp:
- 01/19/12 08:53:12 (4 months ago)
- Location:
- schulkonsole/linuxmuster-schulkonsole/trunk
- Files:
-
- 9 added
- 18 edited
-
lib/Schulkonsole/Config.pm.in (modified) (13 diffs)
-
lib/Schulkonsole/Cyrus.pm (modified) (2 diffs)
-
lib/Schulkonsole/Error (added)
-
lib/Schulkonsole/Error.pm (modified) (8 diffs)
-
lib/Schulkonsole/Error/Cyrus.pm (added)
-
lib/Schulkonsole/Error/Files.pm (added)
-
lib/Schulkonsole/Error/Firewall.pm (added)
-
lib/Schulkonsole/Error/Linbo.pm (added)
-
lib/Schulkonsole/Error/OVPN.pm (added)
-
lib/Schulkonsole/Error/Printer.pm (added)
-
lib/Schulkonsole/Error/Sophomorix.pm (added)
-
lib/Schulkonsole/Error/User.pm (added)
-
lib/Schulkonsole/Files.pm (modified) (2 diffs)
-
lib/Schulkonsole/Firewall.pm (modified) (2 diffs)
-
lib/Schulkonsole/Info.pm (modified) (2 diffs)
-
lib/Schulkonsole/Linbo.pm (modified) (3 diffs)
-
lib/Schulkonsole/Makefile.am (modified) (1 diff)
-
lib/Schulkonsole/OVPN.pm (modified) (2 diffs)
-
lib/Schulkonsole/Printer.pm (modified) (2 diffs)
-
lib/Schulkonsole/Session.pm.in (modified) (1 diff)
-
lib/Schulkonsole/Sophomorix.pm (modified) (2 diffs)
-
src/util/wrapper-files.pl.in (modified) (11 diffs)
-
src/util/wrapper-firewall.pl.in (modified) (29 diffs)
-
src/util/wrapper-linbo.pl.in (modified) (14 diffs)
-
src/util/wrapper-ovpn.pl.in (modified) (5 diffs)
-
src/util/wrapper-printer.pl.in (modified) (7 diffs)
-
src/util/wrapper-sophomorix.pl.in (modified) (90 diffs)
Legend:
- Unmodified
- Added
- Removed
-
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Config.pm.in
r1088 r1238 89 89 $_wrapper_linbo 90 90 91 %_root_app_name_ids 92 @_root_apps 91 %_id_root_app_names 92 $_cmd_internet_on_off 93 $_cmd_intranet_on_off 94 $_cmd_update_logins 95 $_cmd_update_linbofs 96 $_cmd_urlfilter_check 97 $_cmd_urlfilter_on_off 98 $_cmd_linuxmuster_reset 99 $_cmd_printer_accept 100 $_cmd_printer_reject 101 $_cmd_printer_lpadmin 102 $_cmd_sophomorix_teacher 103 $_cmd_sophomorix_room 104 $_cmd_sophomorix_print 105 $_cmd_sophomorix_passwd 106 $_cmd_sophomorix_project 107 $_cmd_sophomorix_check 108 $_cmd_sophomorix_add 109 $_cmd_sophomorix_move 110 $_cmd_sophomorix_kill 111 $_cmd_sophomorix_teachin 112 $_cmd_sophomorix_quota 113 $_cmd_sophomorix_class 114 $_cmd_import_workstations 115 $_cmd_import_printers 116 $_cmd_ovpn_client_cert 93 117 94 118 $_shell … … 125 149 PRINTTEACHERSAPP 126 150 SETPASSWORDSAPP 127 WWWPERMISSIONSAPP128 CREATEDROPDBAPP129 DROPDBUSERAPP130 LISTDBAPP131 LISTDBUSERAPP132 CREATEDROPREPOSITORYAPP133 LISTREPOSITORYAPP134 151 PROJECTMEMBERSAPP 135 152 PROJECTCREATEDROPAPP … … 237 254 238 255 use constant { 239 INTERNETONOFFAPP => 0,240 INTRANETONOFFAPP => 1,241 UPDATELOGINSAPP => 2,242 UPDATELINBOFSAPP => 3,243 URLFILTERCHECKAPP => 4,244 URLFILTERONOFFAPP => 5,245 ALLONAPP => 6 ,246 ALLONATAPP => 7,247 ROOMSRESETAPP => 8,256 INTERNETONOFFAPP => 6001, 257 INTRANETONOFFAPP => 6002, 258 UPDATELOGINSAPP => 6003, 259 UPDATELINBOFSAPP => 6004, 260 URLFILTERCHECKAPP => 6005, 261 URLFILTERONOFFAPP => 6006, 262 ALLONAPP => 6007, 263 ALLONATAPP => 6008, 264 ROOMSRESETAPP => 6009, 248 265 }; 249 266 … … 264 281 C<printer_allow_deny> 265 282 283 =item C<PRINTERQUOTAAPP> 284 285 C<printer_quota> 286 266 287 =back 267 288 … … 269 290 270 291 use constant { 271 PRINTERINFOAPP => 9,272 PRINTERONOFFAPP => 10,273 PRINTERALLOWDENYAPP => 11,292 PRINTERINFOAPP => 7001, 293 PRINTERONOFFAPP => 7002, 294 PRINTERALLOWDENYAPP => 7003, 274 295 }; 275 296 … … 322 343 C<set_passwords> 323 344 324 =item C<WWWPERMISSIONSAPP>325 326 C<www_permissions>327 328 345 =item C<PROJECTMEMBERSAPP> 329 346 … … 391 408 392 409 use constant { 393 SHARESTATESAPP => 12,394 SHARESONOFFAPP => 13,395 LSHANDOUTAPP => 14,396 LSCOLLECTAPP => 15,397 HANDOUTAPP => 16,398 COLLECTAPP => 17,399 RESETROOMAPP => 18,400 EDITOWNCLASSMEMBERSHIPAPP => 19,401 PRINTCLASSAPP => 20,402 PRINTTEACHERSAPP => 21,403 SETPASSWORDSAPP => 22,404 WWWPERMISSIONSAPP => 23,405 PROJECTMEMBERSAPP => 24,406 PROJECTCREATEDROPAPP => 25,407 PROJECTJOINNOJOINAPP => 26,408 READSOPHOMORIXFILEAPP => 27,409 WRITESOPHOMORIXFILEAPP => 28,410 USERSCHECKAPP => 29,411 USERSADDAPP => 30,412 USERSMOVEAPP => 31,413 USERSKILLAPP => 32,414 USERSADDMOVEKILLAPP => 33,415 TEACHINAPP => 34,416 CHMODAPP => 35,417 SETQUOTAAPP => 36,418 SETOWNPASSWORDAPP => 37,419 HIDEUNHIDECLASSAPP => 38,410 SHARESTATESAPP => 8001, 411 SHARESONOFFAPP => 8002, 412 LSHANDOUTAPP => 8003, 413 LSCOLLECTAPP => 8004, 414 HANDOUTAPP => 8005, 415 COLLECTAPP => 8006, 416 RESETROOMAPP => 8007, 417 EDITOWNCLASSMEMBERSHIPAPP => 8008, 418 PRINTCLASSAPP => 8009, 419 PRINTTEACHERSAPP => 8010, 420 SETPASSWORDSAPP => 8011, 421 WWWPERMISSIONSAPP => 8012, 422 PROJECTMEMBERSAPP => 8013, 423 PROJECTCREATEDROPAPP => 8014, 424 PROJECTJOINNOJOINAPP => 8015, 425 READSOPHOMORIXFILEAPP => 8016, 426 WRITESOPHOMORIXFILEAPP => 8017, 427 USERSCHECKAPP => 8018, 428 USERSADDAPP => 8019, 429 USERSMOVEAPP => 8020, 430 USERSKILLAPP => 8021, 431 USERSADDMOVEKILLAPP => 8022, 432 TEACHINAPP => 8023, 433 CHMODAPP => 8024, 434 SETQUOTAAPP => 8025, 435 SETOWNPASSWORDAPP => 8026, 436 HIDEUNHIDECLASSAPP => 8027, 420 437 }; 421 438 … … 434 451 }; 435 452 436 =head3 Constants for wrapper-collab 437 438 =over 439 440 =item C<CREATEDROPDBAPP> 441 442 C<create_drop_db> 443 444 =item C<DROPDBUSERAPP> 445 446 C<drop_db_user> 447 448 =item C<LISTDBAPP> 449 450 C<list_db> 451 452 =item C<LISTDBUSERAPP> 453 454 C<list_db_user> 455 456 =item C<CREATEDROPREPOSITORYAPP> 457 458 C<create_drop_repository> 459 460 =item C<LISTREPOSITORYAPP> 461 462 C<list_repository> 453 454 =head3 Constants for wrapper-files 455 456 =over 457 458 =item C<WRITEFILEAPP> 459 460 C<write_file> 461 462 =item C<IMPORTWORKSTATIONSAPP> 463 464 C<import_workstations> 465 466 =item C<IMPORTPRINTERSAPP> 467 468 C<import_printers> 463 469 464 470 =back … … 467 473 468 474 use constant { 469 CREATEDROPDBAPP => 39, 470 DROPDBUSERAPP => 40, 471 LISTDBAPP => 41, 472 LISTDBUSERAPP => 42, 473 CREATEDROPREPOSITORYAPP => 43, 474 LISTREPOSITORYAPP => 44, 475 WRITEFILEAPP => 11001, 476 IMPORTWORKSTATIONSAPP => 11002, 477 IMPORTPRINTERSAPP => 11003, 475 478 }; 476 479 477 480 478 =head3 Constants for wrapper- files479 480 =over 481 482 =item C< WRITEFILEAPP>483 484 C< write_file>485 486 =item C< IMPORTWORKSTATIONSAPP>487 488 C< import_workstations>489 490 =item C< IMPORTPRINTERSAPP>491 492 C< import_printers>481 =head3 Constants for wrapper-ovpn 482 483 =over 484 485 =item C<OVPNCHECKAPP> 486 487 C<ovpn_check> 488 489 =item C<OVPNDOWNLOADAPP> 490 491 C<ovpn_download> 492 493 =item C<OVPNCREATEAPP> 494 495 C<ovpn_download> 493 496 494 497 =back … … 497 500 498 501 use constant { 499 WRITEFILEAPP => 45,500 IMPORTWORKSTATIONSAPP => 46,501 IMPORTPRINTERSAPP => 47,502 OVPNCHECKAPP => 12001, 503 OVPNDOWNLOADAPP => 12002, 504 OVPNCREATEAPP => 12003, 502 505 }; 503 506 504 507 505 =head3 Constants for wrapper-ovpn 506 507 =over 508 509 =item C<OVPNCHECKAPP> 510 511 C<ovpn_check> 512 513 =item C<OVPNDOWNLOADAPP> 514 515 C<ovpn_download> 516 517 =item C<OVPNCREATEAPP> 518 519 C<ovpn_download> 508 =head3 Constants for wrapper-linbo 509 510 =over 511 512 =item C<LINBOWRITESTARTCONFAPP> 513 514 C<write_start_conf> 515 516 =item C<LINBOCOPYSTARTCONFAPP> 517 518 C<copy_start_conf> 519 520 =item C<LINBOCOPYREGPATCHAPP> 521 522 C<copy_regpatch> 523 524 =item C<LINBODELETEAPP> 525 526 C<linbo_delete> 527 528 =item C<LINBOWRITEAPP> 529 530 C<linbo_write> 531 532 =item C<LINBOIMAGEAPP> 533 534 C<linbo_manage_images> 520 535 521 536 =back … … 524 539 525 540 use constant { 526 OVPNCHECKAPP => 48, 527 OVPNDOWNLOADAPP => 49, 528 OVPNCREATEAPP => 50, 529 }; 530 531 532 =head3 Constants for wrapper-linbo 533 534 =over 535 536 =item C<LINBOWRITESTARTCONFAPP> 537 538 C<write_start_conf> 539 540 =item C<LINBOCOPYSTARTCONFAPP> 541 542 C<copy_start_conf> 543 544 =item C<LINBOCOPYREGPATCHAPP> 545 546 C<copy_regpatch> 547 548 =item C<LINBODELETEAPP> 549 550 C<linbo_delete> 551 552 =item C<LINBOWRITEAPP> 553 554 C<linbo_write> 555 556 =item C<LINBOIMAGEAPP> 557 558 C<linbo_manage_images> 559 560 =back 561 562 =cut 563 564 use constant { 565 LINBOWRITESTARTCONFAPP => 51, 566 LINBOCOPYSTARTCONFAPP => 52, 567 LINBOCOPYREGPATCHAPP => 53, 568 LINBODELETEAPP => 54, 569 LINBOWRITEAPP => 55, 570 LINBOIMAGEAPP => 56, 541 LINBOWRITESTARTCONFAPP => 13001, 542 LINBOCOPYSTARTCONFAPP => 13002, 543 LINBOCOPYREGPATCHAPP => 13003, 544 LINBODELETEAPP => 13004, 545 LINBOWRITEAPP => 13005, 546 LINBOIMAGEAPP => 13006, 571 547 }; 572 548 … … 892 868 =over 893 869 894 =item C<%_root_app_name_ids> 895 896 Hash that maps the name of an application in the permissions configuration 897 file to its numerical ID 898 899 =item C<@_root_apps> 900 901 List of applications with each application on the index of its ID 902 903 =back 904 905 =cut 906 907 use vars qw(%_root_app_name_ids @_root_apps); 870 =item C<%_id_root_app_names> 871 872 Hash that maps the numerical ID of an application in the permissions 873 configuration file to its name 874 875 =item C<$_cmd_internet_on_off> 876 877 Path to command used to block/unblock access to internet C<internet_on_off.sh> 878 879 =item C<$_cmd_intranet_on_off> 880 881 Path to command used to block/unblock access to intranet C<intranet_on_off.sh> 882 883 =item C<$_cmd_update_logins> 884 885 Path to command to update logins of room C<update-logins.sh> 886 887 =item C<$_cmd_update_linbofs> 888 889 Path to command to update Linbo filesystem C<update-linbofs.sh> 890 891 =item C<$_cmd_urlfilter_check> 892 893 Path to command to check if URL filter is active C<check_urlfilter.sh> 894 895 =item C<$_cmd_urlfilter_on_off> 896 897 Path to command to activate/deactivate URL filter C<urlfilter_on_off.sh> 898 899 =item C<$_cmd_linuxmuster_reset> 900 901 Path to command to reset room settings C<linuxmuster-reset> 902 903 =item C<$_cmd_printer_accept> 904 905 Path to command to set printer to accept jobs C<accept> 906 907 =item C<$_cmd_printer_reject> 908 909 Path to command to set printer to reject jobs C<reject> 910 911 =item C<$_cmd_printer_lpadmin> 912 913 Path to command to administrate printers C<lpadmin> 914 915 =item C<$_cmd_sophomorix_teacher> 916 917 Path to Sophomorix command C<sophomorix-teacher> 918 919 =item C<$_cmd_sophomorix_room> 920 921 Path to Sophomorix command C<sophomorix-room> 922 923 =item C<$_cmd_sophomorix_print> 924 925 Path to Sophomorix command C<sophomorix-print> 926 927 =item C<$_cmd_sophomorix_passwd> 928 929 Path to Sophomorix command C<sophomorix-passwd> 930 931 =item C<$_cmd_sophomorix_project> 932 933 Path to Sophomorix command C<sophomorix-project> 934 935 =item C<$_cmd_sophomorix_check> 936 937 Path to Sophomorix command C<sophomorix-check> 938 939 =item C<$_cmd_sophomorix_add> 940 941 Path to Sophomorix command C<sophomorix-add> 942 943 =item C<$_cmd_sophomorix_move> 944 945 Path to Sophomorix command C<sophomorix-move> 946 947 =item C<$_cmd_sophomorix_kill> 948 949 Path to Sophomorix command C<sophomorix-kill> 950 951 =item C<$_cmd_sophomorix_teachin> 952 953 Path to Sophomorix command C<sophomorix-teach-in> 954 955 =item C<$_cmd_sophomorix_quota> 956 957 Path to Sophomorix command C<sophomorix-quota> 958 959 =item C<$_cmd_sophomorix_class> 960 961 Path to Sophomorix command C<sophomorix-class> 962 963 =item C<$_cmd_import_workstations> 964 965 Path to command to import workstations into room C<import_workstations> 966 967 =item C<$_cmd_import_printers> 968 969 Path to command to import printers into room C<import_printers> 970 971 =item C<$_cmd_ovpn_client_cert> 972 973 Path to command to administer OVPN certificates C<ovpn-client-cert.sh> 974 975 =back 976 977 =cut 978 979 use vars qw(%_id_root_app_names 980 $_cmd_internet_on_off 981 $_cmd_intranet_on_off 982 $_cmd_update_logins 983 $_cmd_update_linbofs 984 $_cmd_urlfilter_check 985 $_cmd_urlfilter_on_off 986 $_cmd_linuxmuster_reset 987 $_cmd_printer_accept 988 $_cmd_printer_reject 989 $_cmd_printer_lpadmin 990 $_cmd_sophomorix_teacher 991 $_cmd_sophomorix_room 992 $_cmd_sophomorix_print 993 $_cmd_sophomorix_passwd 994 $_cmd_sophomorix_project 995 $_cmd_sophomorix_check 996 $_cmd_sophomorix_add 997 $_cmd_sophomorix_move 998 $_cmd_sophomorix_kill 999 $_cmd_sophomorix_teachin 1000 $_cmd_sophomorix_quota 1001 $_cmd_sophomorix_class 1002 $_cmd_import_workstations 1003 $_cmd_import_printers 1004 $_cmd_ovpn_client_cert); 908 1005 909 1006 … … 1010 1107 1011 1108 1012 %_root_app_name_ids = ( 1013 internet_on_off => INTERNETONOFFAPP, 1014 intranet_on_off => INTRANETONOFFAPP, 1015 update_logins => UPDATELOGINSAPP, 1016 update_linbofs => UPDATELINBOFSAPP, 1017 urlfilter_check => URLFILTERCHECKAPP, 1018 urlfilter_on_off => URLFILTERONOFFAPP, 1019 all_on => ALLONAPP, 1020 all_on_at => ALLONATAPP, 1021 rooms_reset => ROOMSRESETAPP, 1022 printer_info => PRINTERINFOAPP, 1023 printer_on_off => PRINTERONOFFAPP, 1024 printer_allow_deny => PRINTERALLOWDENYAPP, 1025 share_states => SHARESTATESAPP, 1026 shares_on_off => SHARESONOFFAPP, 1027 ls_handout => LSHANDOUTAPP, 1028 ls_collect => LSCOLLECTAPP, 1029 handout => HANDOUTAPP, 1030 collect => COLLECTAPP, 1031 room_reset => RESETROOMAPP, 1032 edit_own_class_membership => EDITOWNCLASSMEMBERSHIPAPP, 1033 print_class => PRINTCLASSAPP, 1034 print_teachers => PRINTTEACHERSAPP, 1035 set_passwords => SETPASSWORDSAPP, 1036 www_permissions => WWWPERMISSIONSAPP, 1037 project_members => PROJECTMEMBERSAPP, 1038 project_create_drop => PROJECTCREATEDROPAPP, 1039 project_join_no_join => PROJECTJOINNOJOINAPP, 1040 read_sophomorix_file => READSOPHOMORIXFILEAPP, 1041 write_sophomorix_file => WRITESOPHOMORIXFILEAPP, 1042 check_users => USERSCHECKAPP, 1043 add_users => USERSADDAPP, 1044 move_users => USERSMOVEAPP, 1045 kill_users => USERSKILLAPP, 1046 addmovekill_users => USERSADDMOVEKILLAPP, 1047 teachin => TEACHINAPP, 1048 'chmod' => CHMODAPP, 1049 'quota' => SETQUOTAAPP, 1050 'hide_unhide_class' => HIDEUNHIDECLASSAPP, 1051 set_own_password => SETOWNPASSWORDAPP, 1052 create_drop_db => CREATEDROPDBAPP, 1053 drop_db_user => DROPDBUSERAPP, 1054 list_db => LISTDBAPP, 1055 list_db_user => LISTDBUSERAPP, 1056 create_drop_repository => CREATEDROPREPOSITORYAPP, 1057 list_repository => LISTREPOSITORYAPP, 1058 write_file => WRITEFILEAPP, 1059 import_workstations => IMPORTWORKSTATIONSAPP, 1060 import_printers => IMPORTPRINTERSAPP, 1061 ovpn_check => OVPNCHECKAPP, 1062 ovpn_download => OVPNDOWNLOADAPP, 1063 ovpn_create => OVPNCREATEAPP, 1064 write_start_conf => LINBOWRITESTARTCONFAPP, 1065 copy_start_conf => LINBOCOPYSTARTCONFAPP, 1066 copy_regpatch => LINBOCOPYREGPATCHAPP, 1067 linbo_delete => LINBODELETEAPP, 1068 linbo_write => LINBOWRITEAPP, 1069 linbo_manage_images => LINBOIMAGEAPP, 1109 %_id_root_app_names = ( 1110 INTERNETONOFFAPP() => 'internet_on_off', 1111 INTRANETONOFFAPP() => 'intranet_on_off', 1112 UPDATELOGINSAPP() => 'update_logins', 1113 UPDATELINBOFSAPP() => 'update_linbofs', 1114 URLFILTERCHECKAPP() => 'urlfilter_check', 1115 URLFILTERONOFFAPP() => 'urlfilter_on_off', 1116 ALLONAPP() => 'all_on', 1117 ALLONATAPP() => 'all_on_at', 1118 ROOMSRESETAPP() => 'rooms_reset', 1119 PRINTERINFOAPP() => 'printer_info', 1120 PRINTERONOFFAPP() => 'printer_on_off', 1121 PRINTERALLOWDENYAPP() => 'printer_allow_deny', 1122 SHARESTATESAPP() => 'share_states', 1123 SHARESONOFFAPP() => 'shares_on_off', 1124 LSHANDOUTAPP() => 'ls_handout', 1125 LSCOLLECTAPP() => 'ls_collect', 1126 HANDOUTAPP() => 'handout', 1127 COLLECTAPP() => 'collect', 1128 RESETROOMAPP() => 'room_reset', 1129 EDITOWNCLASSMEMBERSHIPAPP() => 'edit_own_class_membership', 1130 PRINTCLASSAPP() => 'print_class', 1131 PRINTTEACHERSAPP() => 'print_teachers', 1132 SETPASSWORDSAPP() => 'set_passwords', 1133 PROJECTMEMBERSAPP() => 'project_members', 1134 PROJECTCREATEDROPAPP() => 'project_create_drop', 1135 PROJECTJOINNOJOINAPP() => 'project_join_no_join', 1136 READSOPHOMORIXFILEAPP() => 'read_sophomorix_file', 1137 WRITESOPHOMORIXFILEAPP() => 'write_sophomorix_file', 1138 USERSCHECKAPP() => 'check_users', 1139 USERSADDAPP() => 'add_users', 1140 USERSMOVEAPP() => 'move_users', 1141 USERSKILLAPP() => 'kill_users', 1142 USERSADDMOVEKILLAPP() => 'addmovekill_users', 1143 TEACHINAPP() => 'teachin', 1144 CHMODAPP() => 'chmod', 1145 SETQUOTAAPP() => 'quota', 1146 HIDEUNHIDECLASSAPP() => 'hide_unhide_class', 1147 SETOWNPASSWORDAPP() => 'set_own_password', 1148 WRITEFILEAPP() => 'write_file', 1149 IMPORTWORKSTATIONSAPP() => 'import_workstations', 1150 IMPORTPRINTERSAPP() => 'import_printers', 1151 OVPNCHECKAPP() => 'ovpn_check', 1152 OVPNDOWNLOADAPP() => 'ovpn_download', 1153 OVPNCREATEAPP() => 'ovpn_create', 1154 LINBOWRITESTARTCONFAPP() => 'write_start_conf', 1155 LINBOCOPYSTARTCONFAPP() => 'copy_start_conf', 1156 LINBOCOPYREGPATCHAPP() => 'copy_regpatch', 1157 LINBODELETEAPP() => 'linbo_delete', 1158 LINBOWRITEAPP() => 'linbo_write', 1159 LINBOIMAGEAPP() => 'linbo_manage_images', 1070 1160 ); 1071 1161 1072 1162 1073 @_root_apps = ( 1074 '/usr/share/linuxmuster/scripts/internet_on_off.sh', 1075 '/usr/share/linuxmuster/scripts/intranet_on_off.sh', 1076 '/usr/share/linuxmuster/scripts/update-logins.sh', 1077 '/usr/share/linuxmuster-linbo/update-linbofs.sh', 1078 '/usr/share/linuxmuster/scripts/check_urlfilter.sh', 1079 '/usr/share/linuxmuster/scripts/urlfilter_on_off.sh', 1080 1, 1081 1, 1082 '/usr/sbin/linuxmuster-reset', 1083 1, 1084 [ '/usr/sbin/accept', '/usr/sbin/reject' ], 1085 '/usr/sbin/lpadmin', 1086 '/usr/bin/sophomorix-teacher', 1087 '/usr/bin/sophomorix-teacher', 1088 '/usr/bin/sophomorix-teacher', 1089 '/usr/bin/sophomorix-teacher', 1090 '/usr/bin/sophomorix-teacher', 1091 '/usr/bin/sophomorix-teacher', 1092 '/usr/sbin/sophomorix-room', 1093 '/usr/bin/sophomorix-teacher', 1094 '/usr/sbin/sophomorix-print', 1095 '/usr/sbin/sophomorix-print', 1096 '/usr/sbin/sophomorix-passwd', 1097 '/usr/sbin/sophomorix-www', 1098 '/usr/sbin/sophomorix-project', 1099 '/usr/sbin/sophomorix-project', 1100 '/usr/sbin/sophomorix-project', 1101 1, 1102 1, 1103 '/usr/sbin/sophomorix-check', 1104 '/usr/sbin/sophomorix-add', 1105 '/usr/sbin/sophomorix-move', 1106 '/usr/sbin/sophomorix-kill', 1107 [ '/usr/sbin/sophomorix-add', '/usr/sbin/sophomorix-move', 1108 '/usr/sbin/sophomorix-kill', ], 1109 '/usr/sbin/sophomorix-teach-in', 1110 1, 1111 [ '/usr/sbin/sophomorix-quota', '/usr/sbin/sophomorix-class', 1112 '/usr/sbin/sophomorix-project', ], 1113 '/usr/sbin/sophomorix-passwd', 1114 '/usr/sbin/sophomorix-class', 1115 '/usr/sbin/linuxmuster-mysql', 1116 '/usr/sbin/linuxmuster-mysql', 1117 '/usr/sbin/linuxmuster-mysql', 1118 '/usr/sbin/linuxmuster-mysql', 1119 '/usr/sbin/linuxmuster-svn', 1120 '/usr/sbin/linuxmuster-svn', 1121 1, 1122 '/usr/sbin/import_workstations', 1123 '/usr/sbin/import_printers', 1124 '/usr/share/linuxmuster/scripts/ovpn-client-cert.sh', 1125 '/usr/share/linuxmuster/scripts/ovpn-client-cert.sh', 1126 '/usr/share/linuxmuster/scripts/ovpn-client-cert.sh', 1127 1, 1128 1, 1129 1, 1130 1, 1131 1, 1132 1, 1133 ); 1163 1164 $_cmd_import_printers = '/usr/sbin/import_printers'; 1165 $_cmd_import_workstations = '/usr/sbin/import_workstations'; 1166 $_cmd_internet_on_off = '/usr/share/linuxmuster/scripts/internet_on_off.sh'; 1167 $_cmd_intranet_on_off = '/usr/share/linuxmuster/scripts/intranet_on_off.sh'; 1168 $_cmd_linuxmuster_reset = '/usr/sbin/linuxmuster-reset'; 1169 $_cmd_ovpn_client_cert = '/usr/share/linuxmuster/scripts/ovpn-client-cert.sh'; 1170 $_cmd_printer_accept = '/usr/sbin/accept'; 1171 $_cmd_printer_lpadmin = '/usr/sbin/lpadmin'; 1172 $_cmd_printer_reject = '/usr/sbin/reject'; 1173 $_cmd_sophomorix_add = '/usr/sbin/sophomorix-add'; 1174 $_cmd_sophomorix_check = '/usr/sbin/sophomorix-check'; 1175 $_cmd_sophomorix_class = '/usr/sbin/sophomorix-class'; 1176 $_cmd_sophomorix_kill = '/usr/sbin/sophomorix-kill'; 1177 $_cmd_sophomorix_move = '/usr/sbin/sophomorix-move'; 1178 $_cmd_sophomorix_passwd = '/usr/sbin/sophomorix-passwd'; 1179 $_cmd_sophomorix_print = '/usr/sbin/sophomorix-print'; 1180 $_cmd_sophomorix_project = '/usr/sbin/sophomorix-project'; 1181 $_cmd_sophomorix_quota = '/usr/sbin/sophomorix-quota'; 1182 $_cmd_sophomorix_room = '/usr/sbin/sophomorix-room'; 1183 $_cmd_sophomorix_teacher = '/usr/bin/sophomorix-teacher'; 1184 $_cmd_sophomorix_teachin = '/usr/sbin/sophomorix-teach-in'; 1185 $_cmd_update_linbofs = '/usr/share/linuxmuster-linbo/update-linbofs.sh'; 1186 $_cmd_update_logins = '/usr/share/linuxmuster/scripts/update-logins.sh'; 1187 $_cmd_urlfilter_check = '/usr/share/linuxmuster/scripts/check_urlfilter.sh'; 1188 $_cmd_urlfilter_on_off = '/usr/share/linuxmuster/scripts/urlfilter_on_off.sh'; 1134 1189 1135 1190 -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Cyrus.pm
r209 r1238 67 67 } else { 68 68 die new Schulkonsole::Error( 69 Schulkonsole::Error:: WRAPPER_CYRUS_ERROR_BASE + $error,69 Schulkonsole::Error::Cyrus::WRAPPER_ERROR_BASE + $error, 70 70 $Schulkonsole::Config::_wrapper_cyrus); 71 71 } … … 101 101 } else { 102 102 die new Schulkonsole::Error( 103 Schulkonsole::Error:: WRAPPER_CYRUS_ERROR_BASE + $error,103 Schulkonsole::Error::Cyrus::WRAPPER_ERROR_BASE + $error, 104 104 $Schulkonsole::Config::_wrapper_cyrus); 105 105 } -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Error.pm
r921 r1238 1 1 use strict; 2 use Schulkonsole::Error::Cyrus; 3 use Schulkonsole::Error::Files; 4 use Schulkonsole::Error::Firewall; 5 use Schulkonsole::Error::Linbo; 6 use Schulkonsole::Error::OVPN; 7 use Schulkonsole::Error::Printer; 8 use Schulkonsole::Error::Sophomorix; 9 use Schulkonsole::Error::User; 2 10 3 11 package Schulkonsole::Error; … … 17 25 QUOTA_NOT_ALL_MOUNTPOINTS 18 26 PUBLIC_BG_ERROR 19 LINBO_START_CONF_ERROR20 27 INTERNAL_BG_ERROR 21 28 DB_PREPARE_FAILED … … 30 37 WRAPPER_BROKEN_PIPE_OUT 31 38 WRAPPER_BROKEN_PIPE_IN 32 WRAPPER_USER_ERROR_BASE33 WRAPPER_USER_GENERAL_ERROR34 WRAPPER_USER_PROGRAM_ERROR35 WRAPPER_USER_UNAUTHORIZED_UID36 WRAPPER_USER_INVALID_UID37 WRAPPER_USER_INVALID_SCRIPT38 WRAPPER_USER_SCRIPT_EXEC_FAILED39 WRAPPER_USER_SETUID_FAILED40 WRAPPER_FIREWALL_ERROR_BASE41 WRAPPER_FIREWALL_GENERAL_ERROR42 WRAPPER_FIREWALL_UNAUTHORIZED_UID43 WRAPPER_FIREWALL_SCRIPT_EXEC_FAILED44 WRAPPER_FIREWALL_UNAUTHENTICATED_ID45 WRAPPER_FIREWALL_APP_ID_DOES_NOT_EXIST46 WRAPPER_FIREWALL_UNAUTHORIZED_ID47 WRAPPER_FIREWALL_INVALID_MAC48 WRAPPER_FIREWALL_NO_MACS49 WRAPPER_FIREWALL_INVALID_HOST50 WRAPPER_FIREWALL_NO_HOSTS51 WRAPPER_FIREWALL_INVALID_ROOM52 WRAPPER_FIREWALL_INVALID_LESSONMODE53 WRAPPER_FIREWALL_INVALID_LESSONTIME54 WRAPPER_FIREWALL_CANNOT_WRITE_ROOMFILE55 WRAPPER_FIREWALL_CANNOT_READ_ROOMFILE56 WRAPPER_FIREWALL_CANNOT_FORK57 WRAPPER_PRINTER_ERROR_BASE58 WRAPPER_PRINTER_GENERAL_ERROR59 WRAPPER_PRINTER_PROGRAM_ERROR60 WRAPPER_PRINTER_UNAUTHORIZED_UID61 WRAPPER_PRINTER_SCRIPT_EXEC_FAILED62 WRAPPER_PRINTER_UNAUTHENTICATED_ID63 WRAPPER_PRINTER_APP_ID_DOES_NOT_EXIST64 WRAPPER_PRINTER_UNAUTHORIZED_ID65 WRAPPER_PRINTER_CANNOT_OPEN_PRINTERSCONF66 WRAPPER_PRINTER_INVALID_PRINTER_NAME67 WRAPPER_PRINTER_NO_PRINTERS68 WRAPPER_PRINTER_INVALID_USER69 WRAPPER_SOPHOMORIX_ERROR_BASE70 WRAPPER_SOPHOMORIX_GENERAL_ERROR71 WRAPPER_SOPHOMORIX_PROGRAM_ERROR72 WRAPPER_SOPHOMORIX_UNAUTHORIZED_UID73 WRAPPER_SOPHOMORIX_CANNOT_FORK74 WRAPPER_SOPHOMORIX_SCRIPT_EXEC_FAILED75 WRAPPER_SOPHOMORIX_UNAUTHENTICATED_ID76 WRAPPER_SOPHOMORIX_APP_ID_DOES_NOT_EXIST77 WRAPPER_SOPHOMORIX_UNAUTHORIZED_ID78 WRAPPER_SOPHOMORIX_ON_UNDEFINED79 WRAPPER_SOPHOMORIX_INVALID_USER80 WRAPPER_SOPHOMORIX_NO_USERS81 WRAPPER_SOPHOMORIX_INVALID_USERID82 WRAPPER_SOPHOMORIX_NO_USERIDS83 WRAPPER_SOPHOMORIX_NO_SUCH_DIRECTORY84 WRAPPER_SOPHOMORIX_INVALID_DO_COPY85 WRAPPER_SOPHOMORIX_INVALID_FROM86 WRAPPER_SOPHOMORIX_INVALID_TYPE87 WRAPPER_SOPHOMORIX_INVALID_ROOM88 WRAPPER_SOPHOMORIX_INVALID_PROJECT89 WRAPPER_SOPHOMORIX_INVALID_CLASS90 WRAPPER_SOPHOMORIX_INVALID_SUBCLASS91 WRAPPER_SOPHOMORIX_INVALID_DO_ADD92 WRAPPER_SOPHOMORIX_INVALID_SET_PASSWORD_TYPE93 WRAPPER_SOPHOMORIX_INVALID_PASSWORD94 WRAPPER_SOPHOMORIX_INVALID_IS_GROUPS95 WRAPPER_SOPHOMORIX_INVALID_IS_PUBLIC96 WRAPPER_SOPHOMORIX_INVALID_IS_UPLOAD97 WRAPPER_SOPHOMORIX_INVALID_PROJECTGID98 WRAPPER_SOPHOMORIX_INVALID_MEMBERSCOPE99 WRAPPER_SOPHOMORIX_INVALID_DO_CREATE100 WRAPPER_SOPHOMORIX_INVALID_LONGNAME101 WRAPPER_SOPHOMORIX_INVALID_FILENUMBER102 WRAPPER_SOPHOMORIX_CANNOT_OPEN_FILE103 WRAPPER_SOPHOMORIX_PROCESS_RUNNING104 WRAPPER_SOPHOMORIX_INVALID_MODE105 WRAPPER_SOPHOMORIX_CHMOD_FAILED106 WRAPPER_SOPHOMORIX_INVALID_FLAGS107 WRAPPER_SOPHOMORIX_INVALID_DISKQUOTA108 WRAPPER_SOPHOMORIX_INVALID_MAILQUOTA109 WRAPPER_CYRUS_ERROR_BASE110 WRAPPER_CYRUS_UNAUTHORIZED_UID111 WRAPPER_CYRUS_INVALID_SCRIPT112 WRAPPER_CYRUS_SCRIPT_EXEC_FAILED113 WRAPPER_CYRUS_NO_CYRUS_USER114 WRAPPER_CYRUS_INVALID_EUID115 WRAPPER_COLLAB_ERROR_BASE116 WRAPPER_COLLAB_GENERAL_ERROR117 WRAPPER_COLLAB_PROGRAM_ERROR118 WRAPPER_COLLAB_UNAUTHENTICATED_ID119 WRAPPER_COLLAB_APP_ID_DOES_NOT_EXIST120 WRAPPER_COLLAB_UNAUTHORIZED_ID121 WRAPPER_COLLAB_INVALID_IS_CREATE122 WRAPPER_COLLAB_INVALID_IS_GID123 WRAPPER_COLLAB_NO_DB124 WRAPPER_COLLAB_READ_DB_LIST_FAILED125 WRAPPER_FILES_ERROR_BASE126 WRAPPER_FILES_GENERAL_ERROR127 WRAPPER_FILES_PROGRAM_ERROR128 WRAPPER_FILES_UNAUTHORIZED_UID129 WRAPPER_FILES_CANNOT_FORK130 WRAPPER_FILES_SCRIPT_EXEC_FAILED131 WRAPPER_FILES_UNAUTHENTICATED_ID132 WRAPPER_FILES_APP_ID_DOES_NOT_EXIST133 WRAPPER_FILES_UNAUTHORIZED_ID134 WRAPPER_FILES_INVALID_FILENUMBER135 WRAPPER_FILES_CANNOT_OPEN_FILE136 WRAPPER_OVPN_ERROR_BASE137 WRAPPER_OVPN_GENERAL_ERROR138 WRAPPER_OVPN_PROGRAM_ERROR139 WRAPPER_OVPN_UNAUTHORIZED_UID140 WRAPPER_OVPN_SCRIPT_EXEC_FAILED141 WRAPPER_OVPN_UNAUTHENTICATED_ID142 WRAPPER_OVPN_APP_ID_DOES_NOT_EXIST143 WRAPPER_OVPN_UNAUTHORIZED_ID144 WRAPPER_OVPN_INVALID_PASSWORD145 WRAPPER_LINBO_ERROR_BASE146 WRAPPER_LINBO_GENERAL_ERROR147 WRAPPER_LINBO_PROGRAM_ERROR148 WRAPPER_LINBO_UNAUTHORIZED_UID149 WRAPPER_LINBO_SCRIPT_EXEC_FAILED150 WRAPPER_LINBO_UNAUTHENTICATED_ID151 WRAPPER_LINBO_APP_ID_DOES_NOT_EXIST152 WRAPPER_LINBO_UNAUTHORIZED_ID153 WRAPPER_LINBO_INVALID_GROUP154 WRAPPER_LINBO_INVALID_FILENAME155 WRAPPER_LINBO_INVALID_IS_EXAMPLE156 WRAPPER_LINBO_INVALID_IMAGE157 WRAPPER_LINBO_INVALID_ACTION158 WRAPPER_LINBO_CANNOT_OPEN_FILE159 39 ); 160 40 … … 172 52 173 53 PUBLIC_BG_ERROR => 20, 174 175 LINBO_START_CONF_ERROR => 50,176 54 177 55 … … 193 71 WRAPPER_BROKEN_PIPE_OUT => 3002, 194 72 WRAPPER_BROKEN_PIPE_IN => 3003, 195 196 WRAPPER_USER_ERROR_BASE => 5000,197 WRAPPER_USER_GENERAL_ERROR => 5000 -1,198 WRAPPER_USER_PROGRAM_ERROR => 5000 -2,199 WRAPPER_USER_UNAUTHORIZED_UID => 5000 -3,200 WRAPPER_USER_INVALID_UID => 5000 -4,201 WRAPPER_USER_INVALID_SCRIPT => 5000 -5,202 WRAPPER_USER_SCRIPT_EXEC_FAILED => 5000 -6,203 WRAPPER_USER_SETUID_FAILED => 5000 -9,204 205 WRAPPER_FIREWALL_ERROR_BASE => 6000,206 WRAPPER_FIREWALL_GENERAL_ERROR => 6000 -1,207 WRAPPER_FIREWALL_PROGRAM_ERROR => 6000 -2,208 WRAPPER_FIREWALL_UNAUTHORIZED_UID => 6000 -3,209 WRAPPER_FIREWALL_SCRIPT_EXEC_FAILED => 6000 -6,210 WRAPPER_FIREWALL_UNAUTHENTICATED_ID => 6000 -32,211 WRAPPER_FIREWALL_APP_ID_DOES_NOT_EXIST => 6000 -33,212 WRAPPER_FIREWALL_UNAUTHORIZED_ID => 6000 -34,213 WRAPPER_FIREWALL_INVALID_MAC => 6000 -35,214 WRAPPER_FIREWALL_NO_MACS => 6000 -36,215 WRAPPER_FIREWALL_INVALID_HOST => 6000 -37,216 WRAPPER_FIREWALL_NO_HOSTS => 6000 -38,217 WRAPPER_FIREWALL_INVALID_ROOM => 6000 -39,218 WRAPPER_FIREWALL_INVALID_LESSONMODE => 6000 -40,219 WRAPPER_FIREWALL_INVALID_LESSONTIME => 6000 -41,220 WRAPPER_FIREWALL_CANNOT_WRITE_ROOMFILE => 6000 -42,221 WRAPPER_FIREWALL_CANNOT_READ_ROOMFILE => 6000 -43,222 WRAPPER_FIREWALL_CANNOT_FORK => 6000 -44,223 WRAPPER_FIREWALL_INVALID_ROOM_SCOPE => 6000 -45,224 225 WRAPPER_PRINTER_ERROR_BASE => 7000,226 WRAPPER_PRINTER_GENERAL_ERROR => 7000 -1,227 WRAPPER_PRINTER_PROGRAM_ERROR => 7000 -2,228 WRAPPER_PRINTER_UNAUTHORIZED_UID => 7000 -3,229 WRAPPER_PRINTER_SCRIPT_EXEC_FAILED => 7000 -6,230 WRAPPER_PRINTER_UNAUTHENTICATED_ID => 7000 -32,231 WRAPPER_PRINTER_APP_ID_DOES_NOT_EXIST => 7000 -33,232 WRAPPER_PRINTER_UNAUTHORIZED_ID => 7000 -34,233 WRAPPER_PRINTER_CANNOT_OPEN_PRINTERSCONF => 7000 -64,234 WRAPPER_PRINTER_INVALID_PRINTER_NAME => 7000 -65,235 WRAPPER_PRINTER_NO_PRINTERS => 7000 -66,236 WRAPPER_PRINTER_INVALID_USER => 7000 -67,237 238 WRAPPER_SOPHOMORIX_ERROR_BASE => 8000,239 WRAPPER_SOPHOMORIX_GENERAL_ERROR => 8000 -1,240 WRAPPER_SOPHOMORIX_PROGRAM_ERROR => 8000 -2,241 WRAPPER_SOPHOMORIX_UNAUTHORIZED_UID => 8000 -3,242 WRAPPER_SOPHOMORIX_SCRIPT_EXEC_FAILED => 8000 -6,243 WRAPPER_SOPHOMORIX_UNAUTHENTICATED_ID => 8000 -32,244 WRAPPER_SOPHOMORIX_APP_ID_DOES_NOT_EXIST => 8000 -33,245 WRAPPER_SOPHOMORIX_UNAUTHORIZED_ID => 8000 -34,246 WRAPPER_SOPHOMORIX_CANNOT_FORK => 8000 -44,247 WRAPPER_SOPHOMORIX_ON_UNDEFINED => 8000 -80,248 WRAPPER_SOPHOMORIX_INVALID_USER => 8000 -81,249 WRAPPER_SOPHOMORIX_NO_USERS => 8000 -82,250 WRAPPER_SOPHOMORIX_INVALID_USERID => 8000 -83,251 WRAPPER_SOPHOMORIX_NO_USERIDS => 8000 -84,252 WRAPPER_SOPHOMORIX_NO_SUCH_DIRECTORY => 8000 -85,253 WRAPPER_SOPHOMORIX_INVALID_DO_COPY => 8000 -86,254 WRAPPER_SOPHOMORIX_INVALID_FROM => 8000 -87,255 WRAPPER_SOPHOMORIX_INVALID_TYPE => 8000 -88,256 WRAPPER_SOPHOMORIX_INVALID_ROOM => 8000 -89,257 WRAPPER_SOPHOMORIX_INVALID_PROJECT => 8000 -90,258 WRAPPER_SOPHOMORIX_INVALID_CLASS => 8000 -91,259 WRAPPER_SOPHOMORIX_INVALID_SUBCLASS => 8000 -92,260 WRAPPER_SOPHOMORIX_INVALID_IS_EXAM => 8000 -93,261 WRAPPER_SOPHOMORIX_INVALID_DO_ADD => 8000 -94,262 WRAPPER_SOPHOMORIX_INVALID_FILE_TYPE => 8000 -95,263 WRAPPER_SOPHOMORIX_INVALID_SET_PASSWORD_TYPE => 8000 -96,264 WRAPPER_SOPHOMORIX_INVALID_PASSWORD => 8000 -97,265 WRAPPER_SOPHOMORIX_INVALID_IS_GROUPS => 8000 -98,266 WRAPPER_SOPHOMORIX_INVALID_IS_PUBLIC => 8000 -99,267 WRAPPER_SOPHOMORIX_INVALID_IS_UPLOAD => 8000 -100,268 WRAPPER_SOPHOMORIX_INVALID_PROJECTGID => 8000 -101,269 WRAPPER_SOPHOMORIX_INVALID_MEMBERSCOPE => 8000 -102,270 WRAPPER_SOPHOMORIX_INVALID_DO_CREATE => 8000 -103,271 WRAPPER_SOPHOMORIX_INVALID_LONGNAME => 8000 -104,272 WRAPPER_SOPHOMORIX_INVALID_FILENUMBER => 8000 -105,273 WRAPPER_SOPHOMORIX_CANNOT_OPEN_FILE => 8000 -106,274 WRAPPER_SOPHOMORIX_PROCESS_RUNNING => 8000 -107,275 WRAPPER_SOPHOMORIX_INVALID_MODE => 8000 -108,276 WRAPPER_SOPHOMORIX_CHMOD_FAILED => 8000 -109,277 WRAPPER_SOPHOMORIX_INVALID_FLAGS => 8000 -110,278 WRAPPER_SOPHOMORIX_INVALID_DISKQUOTA => 8000 -111,279 WRAPPER_SOPHOMORIX_INVALID_MAILQUOTA => 8000 -112,280 WRAPPER_SOPHOMORIX_INVALID_IS_JOIN => 8000 -113,281 282 WRAPPER_CYRUS_ERROR_BASE => 9000,283 WRAPPER_CYRUS_UNAUTHORIZED_UID => 9000 -3,284 WRAPPER_CYRUS_INVALID_SCRIPT => 9000 -5,285 WRAPPER_CYRUS_SCRIPT_EXEC_FAILED => 9000 -6,286 WRAPPER_CYRUS_NO_CYRUS_USER => 9000 -7,287 WRAPPER_CYRUS_INVALID_EUID => 9000 -8,288 289 WRAPPER_COLLAB_ERROR_BASE => 10000,290 WRAPPER_COLLAB_GENERAL_ERROR => 10000 -1,291 WRAPPER_COLLAB_PROGRAM_ERROR => 10000 -2,292 WRAPPER_COLLAB_UNAUTHORIZED_UID => 10000 -3,293 WRAPPER_COLLAB_SCRIPT_EXEC_FAILED => 10000 -6,294 WRAPPER_COLLAB_UNAUTHENTICATED_ID => 10000 -32,295 WRAPPER_COLLAB_APP_ID_DOES_NOT_EXIST => 10000 -33,296 WRAPPER_COLLAB_UNAUTHORIZED_ID => 10000 -34,297 WRAPPER_COLLAB_INVALID_IS_CREATE => 10000 -48,298 WRAPPER_COLLAB_INVALID_IS_GID => 10000 -49,299 WRAPPER_COLLAB_NO_DB => 10000 -50,300 WRAPPER_COLLAB_READ_DB_LIST_FAILED => 10000 -51,301 302 WRAPPER_FILES_ERROR_BASE => 11000,303 WRAPPER_FILES_GENERAL_ERROR => 11000 -1,304 WRAPPER_FILES_PROGRAM_ERROR => 11000 -2,305 WRAPPER_FILES_UNAUTHORIZED_UID => 11000 -3,306 WRAPPER_FILES_SCRIPT_EXEC_FAILED => 11000 -6,307 WRAPPER_FILES_INVALID_SESSION_ID => 11000 -10,308 WRAPPER_FILES_UNAUTHENTICATED_ID => 11000 -32,309 WRAPPER_FILES_APP_ID_DOES_NOT_EXIST => 11000 -33,310 WRAPPER_FILES_UNAUTHORIZED_ID => 11000 -34,311 WRAPPER_FILES_CANNOT_FORK => 11000 -44,312 WRAPPER_FILES_INVALID_FILENUMBER => 11000 -105,313 WRAPPER_FILES_CANNOT_OPEN_FILE => 11000 -106,314 315 WRAPPER_OVPN_ERROR_BASE => 12000,316 WRAPPER_OVPN_GENERAL_ERROR => 12000 -1,317 WRAPPER_OVPN_PROGRAM_ERROR => 12000 -2,318 WRAPPER_OVPN_UNAUTHORIZED_UID => 12000 -3,319 WRAPPER_OVPN_SCRIPT_EXEC_FAILED => 12000 -6,320 WRAPPER_OVPN_UNAUTHENTICATED_ID => 12000 -32,321 WRAPPER_OVPN_APP_ID_DOES_NOT_EXIST => 12000 -33,322 WRAPPER_OVPN_UNAUTHORIZED_ID => 12000 -34,323 WRAPPER_OVPN_INVALID_PASSWORD => 12000 -97,324 325 WRAPPER_LINBO_ERROR_BASE => 13000,326 WRAPPER_LINBO_GENERAL_ERROR => 13000 -1,327 WRAPPER_LINBO_PROGRAM_ERROR => 13000 -2,328 WRAPPER_LINBO_UNAUTHORIZED_UID => 13000 -3,329 WRAPPER_LINBO_SCRIPT_EXEC_FAILED => 13000 -6,330 WRAPPER_LINBO_UNAUTHENTICATED_ID => 13000 -32,331 WRAPPER_LINBO_APP_ID_DOES_NOT_EXIST => 13000 -33,332 WRAPPER_LINBO_UNAUTHORIZED_ID => 13000 -34,333 WRAPPER_LINBO_INVALID_GROUP => 13000 -55,334 WRAPPER_LINBO_INVALID_FILENAME => 13000 -56,335 WRAPPER_LINBO_INVALID_IS_EXAMPLE => 13000 -57,336 WRAPPER_LINBO_INVALID_IMAGE => 13000 -58,337 WRAPPER_LINBO_INVALID_ACTION => 13000 -59,338 WRAPPER_LINBO_CANNOT_OPEN_FILE => 13000 -106,339 73 }; 340 74 … … 380 114 $this->{code} == PUBLIC_BG_ERROR 381 115 and return 'Fehler im Hintergrundprozess: ' . ${ $this->{info} }[0]; 382 $this->{code} == LINBO_START_CONF_ERROR116 $this->{code} == Schulkonsole::Error::Linbo::START_CONF_ERROR 383 117 and return "Fehler in der Konfiguration"; 384 118 $this->{code} == INTERNAL_BG_ERROR … … 397 131 and return 'Keine Workstationbenutzer'; 398 132 ( $this->{code} == CANNOT_OPEN_FILE 399 or $this->{code} == WRAPPER_SOPHOMORIX_CANNOT_OPEN_FILE400 or $this->{code} == WRAPPER_FILES_CANNOT_OPEN_FILE401 or $this->{code} == WRAPPER_LINBO_CANNOT_OPEN_FILE)133 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 134 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_CANNOT_OPEN_FILE 135 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_CANNOT_OPEN_FILE) 402 136 and return 'Kann Datei nicht oeffnen'; 403 137 $this->{code} == FILE_FORMAT_ERROR … … 409 143 $this->{code} == WRAPPER_BROKEN_PIPE_IN 410 144 and return 'Datenuebertragung (lesen) unterbrochen'; 411 ( $this->{code} == WRAPPER_USER_PROGRAM_ERROR 412 or $this->{code} == WRAPPER_FIREWALL_PROGRAM_ERROR 413 or $this->{code} == WRAPPER_PRINTER_PROGRAM_ERROR 414 or $this->{code} == WRAPPER_SOPHOMORIX_PROGRAM_ERROR 415 or $this->{code} == WRAPPER_COLLAB_PROGRAM_ERROR 416 or $this->{code} == WRAPPER_FILES_PROGRAM_ERROR 417 or $this->{code} == WRAPPER_OVPN_PROGRAM_ERROR 418 or $this->{code} == WRAPPER_LINBO_PROGRAM_ERROR) 145 ( $this->{code} == Schulkonsole::Error::User::WRAPPER_PROGRAM_ERROR 146 or $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_PROGRAM_ERROR 147 or $this->{code} == Schulkonsole::Error::Printer::WRAPPER_PROGRAM_ERROR 148 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_PROGRAM_ERROR 149 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_PROGRAM_ERROR 150 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_PROGRAM_ERROR 151 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_PROGRAM_ERROR) 419 152 and return 'Programmaufruf fehlgeschlagen'; 420 ( $this->{code} == WRAPPER_USER_UNAUTHORIZED_UID 421 or $this->{code} == WRAPPER_FIREWALL_UNAUTHORIZED_UID 422 or $this->{code} == WRAPPER_PRINTER_UNAUTHORIZED_UID 423 or $this->{code} == WRAPPER_SOPHOMORIX_UNAUTHORIZED_UID 424 or $this->{code} == WRAPPER_CYRUS_UNAUTHORIZED_UID 425 or $this->{code} == WRAPPER_COLLAB_UNAUTHORIZED_UID 426 or $this->{code} == WRAPPER_FILES_UNAUTHORIZED_UID 427 or $this->{code} == WRAPPER_OVPN_UNAUTHORIZED_UID 428 or $this->{code} == WRAPPER_LINBO_UNAUTHORIZED_UID) 153 ( $this->{code} == Schulkonsole::Error::User::WRAPPER_UNAUTHORIZED_UID 154 or $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_UNAUTHORIZED_UID 155 or $this->{code} == Schulkonsole::Error::Printer::WRAPPER_UNAUTHORIZED_UID 156 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_UNAUTHORIZED_UID 157 or $this->{code} == Schulkonsole::Error::Cyrus::WRAPPER_UNAUTHORIZED_UID 158 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_UNAUTHORIZED_UID 159 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_UNAUTHORIZED_UID 160 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_UNAUTHORIZED_UID) 429 161 and return 'Nicht autorisierter Aufrufer'; 430 $this->{code} == WRAPPER_USER_INVALID_UID162 $this->{code} == Schulkonsole::Error::User::WRAPPER_INVALID_UID 431 163 and return 'Wechsel zu diesem Benutzer nicht erlaubt'; 432 $this->{code} == WRAPPER_USER_SETUID_FAILED164 $this->{code} == Schulkonsole::Error::User::WRAPPER_SETUID_FAILED 433 165 and return 'Wechsel zu diesem Benutzer nicht moeglich'; 434 ( $this->{code} == WRAPPER_USER_INVALID_SCRIPT435 or $this->{code} == WRAPPER_CYRUS_INVALID_SCRIPT)166 ( $this->{code} == Schulkonsole::Error::User::WRAPPER_INVALID_SCRIPT 167 or $this->{code} == Schulkonsole::Error::Cyrus::WRAPPER_INVALID_SCRIPT) 436 168 and return 'Skript nicht vorhanden'; 437 ( $this->{code} == WRAPPER_USER_SCRIPT_EXEC_FAILED 438 or $this->{code} == WRAPPER_FIREWALL_SCRIPT_EXEC_FAILED 439 or $this->{code} == WRAPPER_PRINTER_SCRIPT_EXEC_FAILED 440 or $this->{code} == WRAPPER_SOPHOMORIX_SCRIPT_EXEC_FAILED 441 or $this->{code} == WRAPPER_CYRUS_SCRIPT_EXEC_FAILED 442 or $this->{code} == WRAPPER_COLLAB_SCRIPT_EXEC_FAILED 443 or $this->{code} == WRAPPER_FILES_SCRIPT_EXEC_FAILED 444 or $this->{code} == WRAPPER_OVPN_SCRIPT_EXEC_FAILED 445 or $this->{code} == WRAPPER_LINBO_SCRIPT_EXEC_FAILED) 169 ( $this->{code} == Schulkonsole::Error::User::WRAPPER_SCRIPT_EXEC_FAILED 170 or $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_SCRIPT_EXEC_FAILED 171 or $this->{code} == Schulkonsole::Error::Printer::WRAPPER_SCRIPT_EXEC_FAILED 172 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_SCRIPT_EXEC_FAILED 173 or $this->{code} == Schulkonsole::Error::Cyrus::WRAPPER_SCRIPT_EXEC_FAILED 174 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_SCRIPT_EXEC_FAILED 175 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_SCRIPT_EXEC_FAILED 176 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_SCRIPT_EXEC_FAILED) 446 177 and return 'Skriptaufruf fehlgeschlagen'; 447 ( $this->{code} == WRAPPER_FIREWALL_UNAUTHENTICATED_ID 448 or $this->{code} == WRAPPER_PRINTER_UNAUTHENTICATED_ID 449 or $this->{code} == WRAPPER_SOPHOMORIX_UNAUTHENTICATED_ID 450 or $this->{code} == WRAPPER_COLLAB_UNAUTHENTICATED_ID 451 or $this->{code} == WRAPPER_FILES_UNAUTHENTICATED_ID 452 or $this->{code} == WRAPPER_OVPN_UNAUTHENTICATED_ID 453 or $this->{code} == WRAPPER_LINBO_UNAUTHENTICATED_ID) 178 ( $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_UNAUTHENTICATED_ID 179 or $this->{code} == Schulkonsole::Error::Printer::WRAPPER_UNAUTHENTICATED_ID 180 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_UNAUTHENTICATED_ID 181 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_UNAUTHENTICATED_ID 182 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_UNAUTHENTICATED_ID 183 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_UNAUTHENTICATED_ID) 454 184 and return 'Authentifizierung fehlgeschlagen nach ID'; 455 ( $this->{code} == WRAPPER_FIREWALL_APP_ID_DOES_NOT_EXIST 456 or $this->{code} == WRAPPER_PRINTER_APP_ID_DOES_NOT_EXIST 457 or $this->{code} == WRAPPER_SOPHOMORIX_APP_ID_DOES_NOT_EXIST 458 or $this->{code} == WRAPPER_COLLAB_APP_ID_DOES_NOT_EXIST 459 or $this->{code} == WRAPPER_FILES_APP_ID_DOES_NOT_EXIST 460 or $this->{code} == WRAPPER_OVPN_APP_ID_DOES_NOT_EXIST 461 or $this->{code} == WRAPPER_LINBO_APP_ID_DOES_NOT_EXIST) 185 ( $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_APP_ID_DOES_NOT_EXIST 186 or $this->{code} == Schulkonsole::Error::Printer::WRAPPER_APP_ID_DOES_NOT_EXIST 187 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_APP_ID_DOES_NOT_EXIST 188 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_APP_ID_DOES_NOT_EXIST 189 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_APP_ID_DOES_NOT_EXIST 190 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_APP_ID_DOES_NOT_EXIST) 462 191 and return 'Programm-ID unbekannt'; 463 ( $this->{code} == WRAPPER_FIREWALL_UNAUTHORIZED_ID 464 or $this->{code} == WRAPPER_PRINTER_UNAUTHORIZED_ID 465 or $this->{code} == WRAPPER_SOPHOMORIX_UNAUTHORIZED_ID 466 or $this->{code} == WRAPPER_COLLAB_UNAUTHORIZED_ID 467 or $this->{code} == WRAPPER_FILES_UNAUTHORIZED_ID 468 or $this->{code} == WRAPPER_OVPN_UNAUTHORIZED_ID 469 or $this->{code} == WRAPPER_LINBO_UNAUTHORIZED_ID) 192 ( $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_UNAUTHORIZED_ID 193 or $this->{code} == Schulkonsole::Error::Printer::WRAPPER_UNAUTHORIZED_ID 194 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_UNAUTHORIZED_ID 195 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_UNAUTHORIZED_ID 196 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_UNAUTHORIZED_ID 197 or $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_UNAUTHORIZED_ID) 470 198 and return 'Nicht autorisierter Aufrufer nach ID'; 471 $this->{code} == WRAPPER_FILES_INVALID_SESSION_ID199 $this->{code} == Schulkonsole::Error::Files::WRAPPER_INVALID_SESSION_ID 472 200 and return 'Ungueltige Session-ID'; 473 $this->{code} == WRAPPER_FIREWALL_INVALID_MAC201 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_INVALID_MAC 474 202 and return 'Ungueltige MAC-Adresse'; 475 $this->{code} == WRAPPER_FIREWALL_NO_MACS203 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_NO_MACS 476 204 and return 'Keine MAC-Adressen'; 477 $this->{code} == WRAPPER_FIREWALL_INVALID_HOST205 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_INVALID_HOST 478 206 and return 'Ungueltiger Host'; 479 $this->{code} == WRAPPER_FIREWALL_NO_HOSTS207 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_NO_HOSTS 480 208 and return 'Keine Hosts'; 481 $this->{code} == WRAPPER_FIREWALL_INVALID_ROOM209 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM 482 210 and return 'Ungueltige Raumbezeichnung'; 483 $this->{code} == WRAPPER_FIREWALL_INVALID_LESSONMODE211 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_INVALID_LESSONMODE 484 212 and return 'Ungueltiger Modus fuer Unterricht'; 485 $this->{code} == WRAPPER_FIREWALL_INVALID_LESSONTIME213 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_INVALID_LESSONTIME 486 214 and return 'Ungueltige Zeitangabe fuer Unterrichtsende'; 487 $this->{code} == WRAPPER_FIREWALL_CANNOT_WRITE_ROOMFILE215 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_CANNOT_WRITE_ROOMFILE 488 216 and return 'Raumdatei kann nicht geschrieben werden'; 489 $this->{code} == WRAPPER_FIREWALL_CANNOT_READ_ROOMFILE217 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_CANNOT_READ_ROOMFILE 490 218 and return 'Raumdatei kann nicht gelesen werden'; 491 $this->{code} == WRAPPER_FIREWALL_INVALID_ROOM_SCOPE219 $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM_SCOPE 492 220 and return 'Erwarte 0 oder 1 fuer scope'; 493 ( $this->{code} == WRAPPER_FIREWALL_CANNOT_FORK494 or $this->{code} == WRAPPER_SOPHOMORIX_CANNOT_FORK495 or $this->{code} == WRAPPER_FILES_CANNOT_FORK)221 ( $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_CANNOT_FORK 222 or $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_FORK 223 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_CANNOT_FORK) 496 224 and return 'Fork nicht moeglich'; 497 $this->{code} == WRAPPER_PRINTER_CANNOT_OPEN_PRINTERSCONF 225 ( $this->{code} == Schulkonsole::Error::Printer::WRAPPER_CANNOT_OPEN_PRINTERSCONF 226 or $this->{code} == Schulkonsole::Error::Firewall::WRAPPER_CANNOT_OPEN_PRINTERSCONF) 498 227 and return 'Kann printers.conf nicht oeffnen'; 499 $this->{code} == WRAPPER_PRINTER_INVALID_PRINTER_NAME228 $this->{code} == Schulkonsole::Error::Printer::WRAPPER_INVALID_PRINTER_NAME 500 229 and return 'Ungueltiger Druckername'; 501 $this->{code} == WRAPPER_PRINTER_NO_PRINTERS230 $this->{code} == Schulkonsole::Error::Printer::WRAPPER_NO_PRINTERS 502 231 and return 'Keine Drucker'; 503 $this->{code} == WRAPPER_PRINTER_INVALID_USER232 $this->{code} == Schulkonsole::Error::Printer::WRAPPER_INVALID_USER 504 233 and return 'Ungueltiger Druckernutzer'; 505 $this->{code} == WRAPPER_SOPHOMORIX_ON_UNDEFINED234 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_ON_UNDEFINED 506 235 and return 'on muss 1 oder 0 sein'; 507 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_USER236 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 508 237 and return 'Ungueltiger Benutzer'; 509 $this->{code} == WRAPPER_SOPHOMORIX_NO_USERS238 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 510 239 and return 'Keine Benutzer'; 511 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_USERID240 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USERID 512 241 and return 'Ungueltige Benutzer-ID'; 513 $this->{code} == WRAPPER_SOPHOMORIX_NO_USERIDS242 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERIDS 514 243 and return 'Keine Benutzer-IDs'; 515 $this->{code} == WRAPPER_SOPHOMORIX_NO_SUCH_DIRECTORY244 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_NO_SUCH_DIRECTORY 516 245 and return 'Verzeichnis nicht gefunden'; 517 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_ROOM246 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_ROOM 518 247 and return 'Ungueltiger Raumbezeichner'; 519 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_DO_COPY248 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_COPY 520 249 and return 'Erwarte 1 oder 0 fuer do_copy'; 521 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_FROM250 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FROM 522 251 and return 'Erwarte numerische Angabe fuer "from"'; 523 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_TYPE252 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_TYPE 524 253 and return 'Erwarte numerische Angabe fuer "type"'; 525 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_ROOM254 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_ROOM 526 255 and return 'Ungueltiger Raum'; 527 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_PROJECT256 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 528 257 and return 'Ungueltiges Projekt'; 529 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_CLASS258 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 530 259 and return 'Ungueltige Klassen-GID'; 531 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_SUBCLASS260 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_SUBCLASS 532 261 and return 'Ungueltige Subklasse'; 533 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_DO_ADD262 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_ADD 534 263 and return 'Erwarte 1 oder 0 fuer do_add'; 535 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_FILE_TYPE264 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILE_TYPE 536 265 and return 'Erwarte 0 (PDF) oder 1 (CSV) fuer filetype'; 537 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_SET_PASSWORD_TYPE266 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_SET_PASSWORD_TYPE 538 267 and return 'Erwarte 0 (reset), 1 (passwd) oder 3 (random) fuer type'; 539 ( $this->{code} == WRAPPER_SOPHOMORIX_INVALID_PASSWORD540 or $this->{code} == WRAPPER_OVPN_INVALID_PASSWORD)268 ( $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PASSWORD 269 or $this->{code} == Schulkonsole::Error::OVPN::WRAPPER_INVALID_PASSWORD) 541 270 and return 'Ungueltiger Wert fuer password'; 542 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_IS_GROUPS271 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_IS_GROUPS 543 272 and return 'Erwarte 1 oder 0 fuer is_groups'; 544 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_IS_PUBLIC273 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_IS_PUBLIC 545 274 and return 'Erwarte 1 oder 0 fuer is_public'; 546 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_IS_UPLOAD275 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_IS_UPLOAD 547 276 and return 'Erwarte 1 oder 0 fuer is_upload'; 548 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_PROJECTGID277 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECTGID 549 278 and return 'Ungueltiger Wert fuer projectgid'; 550 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_MEMBERSCOPE279 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MEMBERSCOPE 551 280 and return 'Erwarte 0, 1, 2 oder 3 fuer scope'; 552 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_DO_CREATE281 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_CREATE 553 282 and return 'Erwarte 1 oder 0 fuer do_create'; 554 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_LONGNAME283 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_LONGNAME 555 284 and return 'Ungueltiger Wert fuer longname'; 556 $this->{code} == WRAPPER_CYRUS_NO_CYRUS_USER285 $this->{code} == Schulkonsole::Error::Cyrus::WRAPPER_NO_CYRUS_USER 557 286 and return 'Benutzer "cyrus" gibt es nicht'; 558 $this->{code} == WRAPPER_CYRUS_INVALID_EUID287 $this->{code} == Schulkonsole::Error::Cyrus::WRAPPER_INVALID_EUID 559 288 and return 'wrapper-cyrus gehoert nicht Benutzer "cyrus" oder SUID nicht gesetzt'; 560 $this->{code} == WRAPPER_COLLAB_INVALID_IS_CREATE 561 and return 'Erwarte 1 oder 0 fuer is_create'; 562 $this->{code} == WRAPPER_COLLAB_INVALID_IS_GID 563 and return 'Erwarte 1 oder 0 fuer is_gid'; 564 $this->{code} == WRAPPER_COLLAB_NO_DB 565 and return 'Keine Datenbanken'; 566 $this->{code} == WRAPPER_COLLAB_READ_DB_LIST_FAILED 567 and return 'DB-Liste kann nicht gelesen werden'; 568 $this->{code} == WRAPPER_LINBO_INVALID_GROUP 289 $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_INVALID_GROUP 569 290 and return 'Ungueltiger Gruppenname'; 570 $this->{code} == WRAPPER_LINBO_INVALID_FILENAME291 $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_INVALID_FILENAME 571 292 and return 'Ungueltiger Dateiname'; 572 $this->{code} == WRAPPER_LINBO_INVALID_IS_EXAMPLE293 $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_INVALID_IS_EXAMPLE 573 294 and return 'Erwarte 1 oder 0 fuer is_example'; 574 $this->{code} == WRAPPER_LINBO_INVALID_IMAGE295 $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_INVALID_IMAGE 575 296 and return 'Ungueltiger Image-Dateiname'; 576 $this->{code} == WRAPPER_LINBO_INVALID_ACTION297 $this->{code} == Schulkonsole::Error::Linbo::WRAPPER_INVALID_ACTION 577 298 and return 'action muss 0, 1 oder 2 sein'; 578 ( $this->{code} == WRAPPER_SOPHOMORIX_INVALID_FILENUMBER579 or $this->{code} == WRAPPER_FILES_INVALID_FILENUMBER)299 ( $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILENUMBER 300 or $this->{code} == Schulkonsole::Error::Files::WRAPPER_INVALID_FILENUMBER) 580 301 and return 'Ungueltiger Wert fuer number'; 581 $this->{code} == WRAPPER_SOPHOMORIX_PROCESS_RUNNING302 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_PROCESS_RUNNING 582 303 and return 'Prozess laeuft schon'; 583 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_MODE304 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MODE 584 305 and return 'Erwarte 0, 1 oder 2 fuer mode'; 585 $this->{code} == WRAPPER_SOPHOMORIX_CHMOD_FAILED306 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_CHMOD_FAILED 586 307 and return 'Konnte Berechtigung nicht aendern'; 587 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_FLAGS308 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FLAGS 588 309 and return 'Erwarte 1 bis 7 fuer flags'; 589 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_DISKQUOTA310 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DISKQUOTA 590 311 and return 'Ungueltiger Wert fuer diskquota'; 591 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_MAILQUOTA312 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MAILQUOTA 592 313 and return 'Ungueltiger Wert fuer mailquota'; 593 $this->{code} == WRAPPER_SOPHOMORIX_INVALID_IS_JOIN314 $this->{code} == Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_IS_JOIN 594 315 and return 'Erwarte 1 oder 0 fuer is_open'; 595 316 $this->{what} -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Files.pm
r921 r1238 88 88 } else { 89 89 die new Schulkonsole::Error( 90 Schulkonsole::Error:: WRAPPER_FILES_ERROR_BASE + $error,90 Schulkonsole::Error::Files::WRAPPER_ERROR_BASE + $error, 91 91 $Schulkonsole::Config::_wrapper_files); 92 92 } … … 122 122 } else { 123 123 die new Schulkonsole::Error( 124 Schulkonsole::Error:: WRAPPER_FILES_ERROR_BASE + $error,124 Schulkonsole::Error::Files::WRAPPER_ERROR_BASE + $error, 125 125 $Schulkonsole::Config::_wrapper_files); 126 126 } -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Firewall.pm
r1088 r1238 118 118 } else { 119 119 die new Schulkonsole::Error( 120 Schulkonsole::Error:: WRAPPER_FIREWALL_ERROR_BASE + $error,120 Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE + $error, 121 121 $Schulkonsole::Config::_wrapper_firewall); 122 122 } … … 159 159 } else { 160 160 die new Schulkonsole::Error( 161 Schulkonsole::Error:: WRAPPER_FIREWALL_ERROR_BASE + $error,161 Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE + $error, 162 162 $Schulkonsole::Config::_wrapper_firewall, 163 163 ($input_buffer ? "Output: $input_buffer" : 'No Output')); -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Info.pm
r223 r1238 54 54 } else { 55 55 die new Schulkonsole::Error( 56 Schulkonsole::Error:: WRAPPER_USER_ERROR_BASE + $error,56 Schulkonsole::Error::User::WRAPPER_ERROR_BASE + $error, 57 57 $Schulkonsole::Config::_wrapper_user); 58 58 } … … 85 85 } else { 86 86 die new Schulkonsole::Error( 87 Schulkonsole::Error:: WRAPPER_USER_ERROR_BASE + $error,87 Schulkonsole::Error::User::WRAPPER_ERROR_BASE + $error, 88 88 $Schulkonsole::Config::_wrapper_user); 89 89 } -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Linbo.pm
r1172 r1238 157 157 } else { 158 158 die new Schulkonsole::Error( 159 Schulkonsole::Error:: WRAPPER_LINBO_ERROR_BASE + $error,159 Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE + $error, 160 160 $Schulkonsole::Config::_wrapper_linbo); 161 161 } … … 191 191 } else { 192 192 die new Schulkonsole::Error( 193 Schulkonsole::Error:: WRAPPER_LINBO_ERROR_BASE + $error,193 Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE + $error, 194 194 $Schulkonsole::Config::_wrapper_linbo); 195 195 } … … 850 850 851 851 852 die new Schulkonsole::Error(Schulkonsole::Error::L INBO_START_CONF_ERROR,852 die new Schulkonsole::Error(Schulkonsole::Error::Linbo::START_CONF_ERROR, 853 853 \%errors) 854 854 if %errors; -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Makefile.am
r268 r1238 1 1 perllibdir = $(pkgdatadir)/Schulkonsole 2 2 perllib_DATA = Session.pm Config.pm 3 dist_perllib_DATA = DB.pm Error.pm ExternalError.pm Gettext.pm Template.pm \ 3 nobase_dist_perllib_DATA = \ 4 DB.pm \ 5 Error.pm ExternalError.pm \ 6 Error/Cyrus.pm \ 7 Error/Files.pm \ 8 Error/Firewall.pm \ 9 Error/Linbo.pm \ 10 Error/OVPN.pm \ 11 Error/Printer.pm \ 12 Error/Sophomorix.pm \ 13 Error/User.pm \ 14 Gettext.pm Template.pm \ 4 15 Room.pm RoomSession.pm \ 5 16 TeachIn.pm \ -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/OVPN.pm
r212 r1238 86 86 } else { 87 87 die new Schulkonsole::Error( 88 Schulkonsole::Error:: WRAPPER_OVPN_ERROR_BASE + $error,88 Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE + $error, 89 89 $Schulkonsole::Config::_wrapper_ovpn); 90 90 } … … 126 126 } else { 127 127 die new Schulkonsole::Error( 128 Schulkonsole::Error:: WRAPPER_OVPN_ERROR_BASE + $error,128 Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE + $error, 129 129 $Schulkonsole::Config::_wrapper_ovpn); 130 130 } -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Printer.pm
r209 r1238 62 62 } else { 63 63 die new Schulkonsole::Error( 64 Schulkonsole::Error:: WRAPPER_PRINTER_ERROR_BASE + $error,64 Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE + $error, 65 65 $Schulkonsole::Config::_wrapper_printer); 66 66 } … … 96 96 } else { 97 97 die new Schulkonsole::Error( 98 Schulkonsole::Error:: WRAPPER_PRINTER_ERROR_BASE + $error,98 Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE + $error, 99 99 $Schulkonsole::Config::_wrapper_printer); 100 100 } -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Session.pm.in
r268 r1238 895 895 # password changed -> re-authenticate 896 896 if ( $error->{code} 897 == Schulkonsole::Error:: WRAPPER_FIREWALL_UNAUTHENTICATED_ID897 == Schulkonsole::Error::Firewall::WRAPPER_UNAUTHENTICATED_ID 898 898 or $error->{code} 899 == Schulkonsole::Error:: WRAPPER_PRINTER_UNAUTHENTICATED_ID899 == Schulkonsole::Error::Printer::WRAPPER_UNAUTHENTICATED_ID 900 900 or $error->{code} 901 == Schulkonsole::Error:: WRAPPER_SOPHOMORIX_UNAUTHENTICATED_ID901 == Schulkonsole::Error::Sophomorix::WRAPPER_UNAUTHENTICATED_ID 902 902 or $error->{code} 903 == Schulkonsole::Error::WRAPPER_COLLAB_UNAUTHENTICATED_ID 904 or $error->{code} 905 == Schulkonsole::Error::WRAPPER_FILES_UNAUTHENTICATED_ID) { 903 == Schulkonsole::Error::Files::WRAPPER_UNAUTHENTICATED_ID) { 906 904 $this->exit_with_login_page($page); 907 905 } -
schulkonsole/linuxmuster-schulkonsole/trunk/lib/Schulkonsole/Sophomorix.pm
r253 r1238 219 219 } else { 220 220 die new Schulkonsole::Error( 221 Schulkonsole::Error:: WRAPPER_SOPHOMORIX_ERROR_BASE + $error,221 Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE + $error, 222 222 $Schulkonsole::Config::_wrapper_sophomorix); 223 223 } … … 254 254 $error -= 256; 255 255 die new Schulkonsole::Error( 256 Schulkonsole::Error:: WRAPPER_SOPHOMORIX_ERROR_BASE + $error,256 Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE + $error, 257 257 $Schulkonsole::Config::_wrapper_sophomorix); 258 258 } -
schulkonsole/linuxmuster-schulkonsole/trunk/src/util/wrapper-files.pl.in
r921 r1238 30 30 use Schulkonsole::Config; 31 31 use Schulkonsole::DB; 32 use Schulkonsole::Error::Files; 32 33 33 34 … … 39 40 40 41 my $userdata = Schulkonsole::DB::verify_password_by_id($id, $password); 41 exit -32 unless $userdata; 42 exit ( Schulkonsole::Error::Files::WRAPPER_UNAUTHENTICATED_ID 43 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 44 unless $userdata; 42 45 43 46 my $app_id = <>; 44 47 ($app_id) = $app_id =~ /^(\d+)$/; 45 exit -33 46 unless defined $app_id && $Schulkonsole::Config::_root_apps[$app_id]; 48 exit ( Schulkonsole::Error::Files::WRAPPER_APP_ID_DOES_NOT_EXIST 49 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 50 unless defined $app_id; 51 52 my $app_name = $Schulkonsole::Config::_id_root_app_names{$app_id}; 53 exit ( Schulkonsole::Error::Files::WRAPPER_APP_ID_DOES_NOT_EXIST 54 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 55 unless defined $app_name; 47 56 48 57 … … 52 61 $$userdata{uidnumber}, $$userdata{gidnumber}, $$userdata{gid}); 53 62 54 my $ app;63 my $is_permission_found = 0; 55 64 foreach my $group (('ALL', keys %$groups)) { 56 foreach my $name (keys %{ $$permissions{$group} }) { 57 if ($Schulkonsole::Config::_root_app_name_ids{$name} == $app_id) { 58 $app = $Schulkonsole::Config::_root_apps[$app_id]; 59 last; 60 } 65 if ($$permissions{$group}{$app_name}) { 66 $is_permission_found = 1; 67 last; 61 68 } 62 69 } 63 exit -34 unless $app; 70 exit ( Schulkonsole::Error::Files::WRAPPER_UNAUTHORIZED_ID 71 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 72 unless $is_permission_found; 64 73 65 74 … … 87 96 my $file = <>; 88 97 ($file) = $file =~ /^(\d+)$/; 89 exit -105 unless defined $file; 98 exit ( Schulkonsole::Error::Files::WRAPPER_INVALID_FILENUMBER 99 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 100 unless defined $file; 90 101 91 102 my $filename; … … 125 136 umask(022); 126 137 127 open FILE, ">$filename" or exit -106; 138 open FILE, ">$filename" 139 or exit( Schulkonsole::Error::Files::WRAPPER_ERROR_BASE 140 - Schulkonsole::Error::Files::WRAPPER_CANNOT_OPEN_FILE); 128 141 flock FILE, 2; 129 142 seek FILE, 0, 0; … … 151 164 my $sid = <>; 152 165 ($sid) = $sid =~ /^(.+)$/; 153 exit -10 unless defined $sid; 166 exit ( Schulkonsole::Error::Files::WRAPPER_INVALID_SESSION_ID 167 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 168 unless defined $sid; 154 169 155 170 my $pid = fork; 156 exit -44 unless defined $pid; 171 exit ( Schulkonsole::Error::Files::WRAPPER_CANNOT_FORK 172 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE) 173 unless defined $pid; 157 174 158 175 if (not $pid) { … … 166 183 umask(027); 167 184 my $lockfile = Schulkonsole::Config::lockfile('import_workstations'); 168 open LOCK, ">>$lockfile" or exit -106; 185 open LOCK, ">>$lockfile" 186 or exit( Schulkonsole::Error::Files::WRAPPER_ERROR_BASE 187 - Schulkonsole::Error::Files::WRAPPER_CANNOT_OPEN_FILE); 169 188 flock LOCK, 2; 170 189 seek LOCK, 0, 0; … … 176 195 $( = $); 177 196 umask(022); 178 open APP, "$app | " or last SWITCH; 197 open APP, "$Schulkonsole::Config::_cmd_import_workstations | " 198 or last SWITCH; 179 199 my $line; 180 200 while (<APP>) { … … 186 206 use CGI::Session; 187 207 188 my $session_lockfile = Schulkonsole::Config::lockfile("cgisession_$sid"); 189 open SESSIONLOCK, ">>$session_lockfile" or exit -106; 208 my $session_lockfile 209 = Schulkonsole::Config::lockfile("cgisession_$sid"); 210 open SESSIONLOCK, ">>$session_lockfile" 211 or exit ( Schulkonsole::Error::Files::WRAPPER_CANNOT_OPEN_FILE 212 - Schulkonsole::Error::Files::WRAPPER_ERROR_BASE); 190 213 flock SESSIONLOCK, 2; 191 214 192 my $session = new CGI::Session("driver:File", $sid, { Directory => $Schulkonsole::Config::_runtimedir }); 215 my $session = new CGI::Session("driver:File", $sid, 216 { 217 Directory => $Schulkonsole::Config::_runtimedir 218 }); 193 219 if ($session->param('username')) { 194 220 chomp $line; … … 206 232 }; 207 233 208 =head3 import_ workstations234 =head3 import_printers 209 235 210 236 numeric constant: C<Schulkonsole::Config::IMPORTPRINTERSAPP> … … 217 243 $( = $); 218 244 umask(022); 219 exec "$app"or last SWITCH;245 exec $Schulkonsole::Config::_cmd_import_printers or last SWITCH; 220 246 }; 221 247 -
schulkonsole/linuxmuster-schulkonsole/trunk/src/util/wrapper-firewall.pl.in
r1059 r1238 34 34 use Sophomorix::SophomorixConfig; 35 35 use Schulkonsole::Config; 36 use Schulkonsole::Error::Firewall; 36 37 use Schulkonsole::DB; 37 38 use Schulkonsole::RoomSession; … … 46 47 47 48 my $userdata = Schulkonsole::DB::verify_password_by_id($id, $password); 48 exit -32 unless $userdata; 49 exit ( Schulkonsole::Error::Firewall::WRAPPER_UNAUTHENTICATED_ID 50 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 51 unless $userdata; 52 49 53 50 54 my $app_id = <>; 51 55 ($app_id) = $app_id =~ /^(\d+)$/; 52 exit -33 53 unless defined $app_id && $Schulkonsole::Config::_root_apps[$app_id]; 56 exit ( Schulkonsole::Error::Firewall::WRAPPER_APP_ID_DOES_NOT_EXIST 57 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 58 unless defined $app_id; 59 60 my $app_name = $Schulkonsole::Config::_id_root_app_names{$app_id}; 61 exit ( Schulkonsole::Error::Firewall::WRAPPER_APP_ID_DOES_NOT_EXIST 62 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 63 unless defined $app_name; 54 64 55 65 … … 59 69 $$userdata{uidnumber}, $$userdata{gidnumber}, $$userdata{gid}); 60 70 61 my $ app;71 my $is_permission_found = 0; 62 72 foreach my $group (('ALL', keys %$groups)) { 63 foreach my $name (keys %{ $$permissions{$group} }) { 64 if ($Schulkonsole::Config::_root_app_name_ids{$name} == $app_id) { 65 $app = $Schulkonsole::Config::_root_apps[$app_id]; 66 last; 67 } 73 if ($$permissions{$group}{$app_name}) { 74 $is_permission_found = 1; 75 last; 68 76 } 69 77 } 70 exit -34 unless $app; 78 exit ( Schulkonsole::Error::Firewall::WRAPPER_UNAUTHORIZED_ID 79 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 80 unless $is_permission_found; 71 81 72 82 … … 140 150 141 151 ($mac) = $mac =~ /^(\w{2}(?::\w{2}){5})$/; 142 exit -35 unless $mac; 152 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_MAC 153 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 154 unless $mac; 143 155 144 156 push @macs, $mac; 145 157 } 146 exit -36 unless @macs; 147 158 exit ( Schulkonsole::Error::Firewall::WRAPPER_NO_MACS 159 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 160 unless @macs; 161 162 my $cmd = ($app_id == Schulkonsole::Config::INTERNETONOFFAPP ? 163 $Schulkonsole::Config::_cmd_internet_on_off 164 : $Schulkonsole::Config::_cmd_intranet_on_off); 148 165 my $opts = "--trigger=$trigger --maclist=" . join(',', @macs); 149 166 … … 153 170 local $( = $); 154 171 umask(022); 155 exec "$ app$opts" or last SWITCH;172 exec "$cmd $opts" or last SWITCH; 156 173 }; 157 174 … … 192 209 193 210 ($host) = $host =~ /^([\w.-]+)$/i; 194 exit -37 unless $host; 211 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_HOST 212 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 213 unless $host; 195 214 196 215 push @hosts, $host; 197 216 } 198 exit -38 unless @hosts; 217 exit ( Schulkonsole::Error::Firewall::WRAPPER_NO_HOSTS 218 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 219 unless @hosts; 199 220 200 221 my $opts = "--trigger=$trigger --hostlist=" . join(',', @hosts); … … 205 226 local $( = $); 206 227 umask(022); 207 exec "$ app$opts" or last SWITCH;228 exec "$Schulkonsole::Config::_cmd_urlfilter_on_off $opts" or last SWITCH; 208 229 }; 209 230 … … 221 242 my $room = <>; 222 243 ($room) = $room =~ /^([\w -]+)$/; 223 exit -39 unless $room; 244 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM 245 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 246 unless $room; 224 247 # set ruid 225 248 local $< = $>; 226 exec "$ app$room" or last SWITCH;249 exec "$Schulkonsole::Config::_cmd_update_logins $room" or last SWITCH; 227 250 }; 228 251 … … 240 263 # set ruid, so that ssh searches for .ssh/ in /root 241 264 local $< = $>; 242 exec "$app"or last SWITCH;265 exec $Schulkonsole::Config::_cmd_urlfilter_check or last SWITCH; 243 266 }; 244 267 … … 266 289 my $room = <>; 267 290 ($room) = $room =~ /^([\w -]+)$/; 268 exit -39 unless $room; 291 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM 292 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 293 unless $room; 269 294 270 295 my $room_session = room_session($room); … … 304 329 my $room = <>; 305 330 ($room) = $room =~ /^([\w -]+)$/; 306 exit -39 unless $room; 331 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM 332 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 333 unless $room; 307 334 308 335 my $time = <>; 309 336 ($time) = $time =~ /^(\d+)$/; 310 exit -41 unless $time; 337 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_LESSONTIME 338 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 339 unless $time; 311 340 312 341 { # write values and close session … … 316 345 317 346 my $pid = fork; 318 exit -44 unless defined $pid; 347 exit ( Schulkonsole::Error::Firewall::WRAPPER_CANNOT_FORK 348 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 349 unless defined $pid; 319 350 320 351 if (not $pid) { … … 330 361 331 362 my $stored_room = $room_session->param('name'); 332 exit -45 unless $stored_room; 363 exit ( Schulkonsole::Error::Firewall::WRAPPER_CANNOT_READ_ROOMFILE 364 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 365 unless $stored_room; 333 366 my $stored_id = $room_session->param('user_id'); 334 exit -45 unless $stored_id; 367 exit ( Schulkonsole::Error::Firewall::WRAPPER_CANNOT_READ_ROOMFILE 368 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 369 unless $stored_id; 335 370 my $stored_time = $room_session->param('end_time'); 336 exit -45 unless $stored_time; 371 exit ( Schulkonsole::Error::Firewall::WRAPPER_CANNOT_READ_ROOMFILE 372 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 373 unless $stored_time; 337 374 my $is_exam_mode = $room_session->param('test_step'); 338 375 … … 375 412 my $scope = <>; 376 413 ($scope) = $scope =~ /^([01])$/; 377 exit -45 unless defined $scope; 414 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM_SCOPE 415 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 416 unless defined $scope; 378 417 379 418 if ($scope == 0) { 380 419 my $opts = '--all'; 381 420 $< = $>; 382 exec "$app $opts" or last SWITCH; 421 exec "$Schulkonsole::Config::_cmd_linuxmuster_reset $opts" 422 or last SWITCH; 383 423 } else { 384 424 my @rooms_reset; … … 386 426 last if /^$/; 387 427 my ($room) = /^([\w -]+)$/; 388 exit -39 unless $room; 428 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_ROOM 429 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 430 unless $room; 389 431 push @rooms_reset, $room; 390 432 } … … 393 435 last if /^$/; 394 436 my ($host) = /^([\w.-]+)$/i; 395 exit -37 unless $host; 437 exit ( Schulkonsole::Error::Firewall::WRAPPER_INVALID_HOST 438 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 439 unless $host; 396 440 push @hosts_reset, $host; 397 441 } … … 405 449 406 450 foreach my $room (@rooms_reset) { 407 system("$app --room=\Q$room\E") == 0 or $is_error++; 451 system("$Schulkonsole::Config::_cmd_linuxmuster_reset --room=\Q$room\E") == 0 452 or $is_error++; 408 453 } 409 454 foreach my $host (@hosts_reset) { 410 system("$app --host=\Q$host\E") == 0 or $is_error++; 455 system("$Schulkonsole::Config::_cmd_linuxmuster_reset --host=\Q$host\E") == 0 456 or $is_error++; 411 457 } 412 458 … … 430 476 my $session = new Schulkonsole::RoomSession($room); 431 477 432 exit -1 unless $session; 478 exit ( Schulkonsole::Error::Firewall::WRAPPER_GENERAL_ERROR 479 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE) 480 unless $session; 433 481 434 482 # 'unprivileged' is set in the main CGI-script … … 460 508 . " --room \Q$room"; 461 509 462 my $app = $Schulkonsole::Config::_root_apps[Schulkonsole::Config::COLLECTAPP];463 510 464 511 local $< = $>; … … 466 513 local $( = $); 467 514 umask(022); 468 system "$app $opts"; 469 470 $app = $Schulkonsole::Config::_root_apps[Schulkonsole::Config::RESETROOMAPP]; 515 system "$Schulkonsole::Config::_cmd_sophomorix_teacher $opts"; 516 471 517 $opts = " --reset-room \Q$room"; 472 system "$app $opts"; 473 474 475 $app = $Schulkonsole::Config::_root_apps[Schulkonsole::Config::SETPASSWORDSAPP]; 518 system "$Schulkonsole::Config::_cmd_sophomorix_room $opts"; 519 520 476 521 $opts = " --hide --random --rooms \Q$room"; 477 system "$ app$opts";522 system "$Schulkonsole::Config::_cmd_sophomorix_class $opts"; 478 523 } 479 524 … … 534 579 # my $opts = "--trigger=off --hostlist=" . join(',', @webfilter_offs); 535 580 # 536 # system $Schulkonsole::Config::_root_apps[Schulkonsole::Config::URLFILTERONOFFAPP] 537 # . ' ' . $opts; 581 # system $Schulkonsole::Config::_cmd_urlfilter_on_off . ' ' . $opts; 538 582 # } 539 583 # if (@webfilter_ons) { 540 584 # my $opts = "--trigger=on --hostlist=" . join(',', @webfilter_ons); 541 585 # 542 # system $Schulkonsole::Config::_root_apps[Schulkonsole::Config::URLFILTERONOFFAPP] 543 # . ' ' . $opts; 586 # system $Schulkonsole::Config::_cmd_urlfilter_on_off . ' ' . $opts; 544 587 # } 545 588 # … … 547 590 # my $opts = "--trigger=on --maclist=" . join(',', @internet_ons); 548 591 # 549 # system $Schulkonsole::Config::_root_apps[Schulkonsole::Config::INTERNETONOFFAPP] 550 # . ' ' . $opts; 592 # system $Schulkonsole::Config::_cmd_internet_on_off . ' ' . $opts; 551 593 # } 552 594 # if (@internet_offs) { 553 595 # my $opts = "--trigger=off --maclist=" . join(',', @internet_offs); 554 596 # 555 # system $Schulkonsole::Config::_root_apps[Schulkonsole::Config::INTERNETONOFFAPP] 556 # . ' ' . $opts; 597 # system $Schulkonsole::Config::_cmd_internet_on_off . ' ' . $opts; 557 598 # } 558 599 # … … 560 601 # my $opts = "--trigger=on --maclist=" . join(',', @intranet_ons); 561 602 # 562 # system $Schulkonsole::Config::_root_apps[Schulkonsole::Config::INTRANETONOFFAPP] 563 # . ' ' . $opts; 603 # system $Schulkonsole::Config::_cmd_intranet_on_off . ' ' . $opts; 564 604 # } 565 605 # if (@intranet_offs) { 566 606 # my $opts = "--trigger=off --maclist=" . join(',', @intranet_offs); 567 607 # 568 # system $Schulkonsole::Config::_root_apps[Schulkonsole::Config::INTRANETONOFFAPP] 569 # . ' ' . $opts; 608 # system $Schulkonsole::Config::_cmd_intranet_on_off . ' ' . $opts; 570 609 # } 571 610 572 611 573 # reset the room settings according to rooms_default instead of restoring the old state from session file574 my $app = $Schulkonsole::Config::_root_apps[Schulkonsole::Config::ROOMSRESETAPP];612 # reset the room settings according to rooms_default instead of restoring 613 # the old state from session file 575 614 my $opts = "--room=\Q$room\E"; 576 system "$ app$opts";615 system "$Schulkonsole::Config::_cmd_linuxmuster_reset $opts"; 577 616 578 617 … … 584 623 585 624 open PRINTERSCONF, "<$Schulkonsole::Config::_cups_printers_conf_file" 586 or exit -64; 587 625 or exit ( Schulkonsole::Error::Firewall::WRAPPER_CANNOT_OPEN_PRINTERSCONF 626 - Schulkonsole::Error::Firewall::WRAPPER_ERROR_BASE); 627 588 628 my $printer; 589 629 my %printer_info; … … 608 648 609 649 610 my $printer_on_off_app611 = $Schulkonsole::Config::_root_apps[Schulkonsole::Config::PRINTERONOFFAPP];612 650 foreach my $printer (keys %{ $$oldsettings{printers_accept} }) { 613 651 if ( $printer_info{$printer} … … 615 653 if ($$oldsettings{printers_accept}{$printer}) { 616 654 if ($printer_info{$printer}{Accepting} ne 'Yes') { 617 system "$ $printer_on_off_app[0]\Q$printer";655 system "$Schulkonsole::Config::_cmd_printer_accept \Q$printer"; 618 656 } 619 657 } else { 620 658 if ($printer_info{$printer}{Accepting} eq 'Yes') { 621 system "$ $printer_on_off_app[1]\Q$printer";659 system "$Schulkonsole::Config::_cmd_printer_reject \Q$printer"; 622 660 } 623 661 } … … 643 681 644 682 if ( @deny_users ) { 645 system $Schulkonsole::Config::_ root_apps[Schulkonsole::Config::PRINTERALLOWDENYAPP]683 system $Schulkonsole::Config::_cmd_printer_lpadmin 646 684 . " -p\Q$printer\E -u deny:" . join(',', @deny_users); 647 685 } else { 648 system $Schulkonsole::Config::_ root_apps[Schulkonsole::Config::PRINTERALLOWDENYAPP]686 system $Schulkonsole::Config::_cmd_printer_lpadmin 649 687 . " -p\Q$printer\E -u deny:none"; 650 688 } … … 671 709 672 710 if ($$old_share_states{$login_id}) { 673 push @shares_on, "\Q$$login_userdata{uid}" unless $share_state; 711 push @shares_on, "\Q$$login_userdata{uid}" 712 unless $share_state; 674 713 } else { 675 push @shares_off, "\Q$$login_userdata{uid}" if $share_state; 714 push @shares_off, "\Q$$login_userdata{uid}" 715 if $share_state; 676 716 } 677 717 … … 679 719 } 680 720 681 my $shares_app 682 = $Schulkonsole::Config::_root_apps[Schulkonsole::Config::SHARESONOFFAPP]; 683 684 system $shares_app 685 . " --teacher \Q$$userdata{uid}\E --shares --users " . join(',', @shares_on) 721 722 system $Schulkonsole::Config::_cmd_sophomorix_teacher 723 . " --teacher \Q$$userdata{uid}\E --shares --users " 724 . join(',', @shares_on) 686 725 if @shares_on; 687 system $shares_app 688 . " --teacher \Q$$userdata{uid}\E --noshares --users " . join(',', @shares_off) 726 system $Schulkonsole::Config::_cmd_sophomorix_teacher 727 . " --teacher \Q$$userdata{uid}\E --noshares --users " 728 . join(',', @shares_off) 689 729 if @shares_off; 690 730 } -
schulkonsole/linuxmuster-schulkonsole/trunk/src/util/wrapper-linbo.pl.in
r1088 r1238 30 30 use Schulkonsole::Config; 31 31 use Schulkonsole::DB; 32 use Schulkonsole::Error::Linbo; 32 33 use POSIX; 33 34 … … 40 41 41 42 my $userdata = Schulkonsole::DB::verify_password_by_id($id, $password); 42 exit -32 unless $userdata; 43 exit ( Schulkonsole::Error::Linbo::WRAPPER_UNAUTHENTICATED_ID 44 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 45 unless $userdata; 43 46 44 47 my $app_id = <>; 45 48 ($app_id) = $app_id =~ /^(\d+)$/; 46 exit -33 47 unless defined $app_id && $Schulkonsole::Config::_root_apps[$app_id]; 49 exit ( Schulkonsole::Error::Linbo::WRAPPER_APP_ID_DOES_NOT_EXIST 50 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 51 unless defined $app_id; 52 53 my $app_name = $Schulkonsole::Config::_id_root_app_names{$app_id}; 54 exit ( Schulkonsole::Error::Linbo::WRAPPER_APP_ID_DOES_NOT_EXIST 55 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 56 unless defined $app_name; 48 57 49 58 … … 53 62 $$userdata{uidnumber}, $$userdata{gidnumber}, $$userdata{gid}); 54 63 55 my $ app;64 my $is_permission_found = 0; 56 65 foreach my $group (('ALL', keys %$groups)) { 57 foreach my $name (keys %{ $$permissions{$group} }) { 58 if ($Schulkonsole::Config::_root_app_name_ids{$name} == $app_id) { 59 $app = $Schulkonsole::Config::_root_apps[$app_id]; 60 last; 61 } 66 if ($$permissions{$group}{$app_name}) { 67 $is_permission_found = 1; 68 last; 62 69 } 63 70 } 64 exit -34 unless $app; 71 exit ( Schulkonsole::Error::Linbo::WRAPPER_UNAUTHORIZED_ID 72 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 73 unless $is_permission_found; 65 74 66 75 … … 81 90 # set ruid, so that ssh searches for .ssh/ in /root 82 91 local $< = $>; 83 exec "$app"or last SWITCH;92 exec $Schulkonsole::Config::_cmd_update_linbofs or last SWITCH; 84 93 }; 85 94 … … 105 114 my $group = <>; 106 115 ($group) = $group =~ /^([a-z\d_]+)$/; 107 exit -55 unless defined $group; 116 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_GROUP 117 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 118 unless defined $group; 108 119 109 120 my $filename = $Schulkonsole::Config::_linbo_start_conf_prefix . $group; … … 127 138 umask(022); 128 139 129 open FILE, ">$filename" or exit -106; 140 open FILE, ">$filename" 141 or exit ( Schulkonsole::Error::Linbo::WRAPPER_CANNOT_OPEN_FILE 142 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE); 130 143 flock FILE, 2; 131 144 seek FILE, 0, 0; … … 161 174 my $src = <>; 162 175 ($src) = $src =~ /^([a-z\d_]+[^\/]*)$/; 163 exit -55 unless defined $src; 176 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_GROUP 177 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 178 unless defined $src; 164 179 165 180 my $dest = <>; 166 181 ($dest) = $dest =~ /^([a-z\d_]+)$/; 167 exit -55 unless defined $dest; 182 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_GROUP 183 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 184 unless defined $dest; 168 185 169 186 … … 189 206 umask(022); 190 207 191 open SRC, "<$src_filename" or exit -106; 208 open SRC, "<$src_filename" 209 or exit ( Schulkonsole::Error::Linbo::WRAPPER_CANNOT_OPEN_FILE 210 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE); 192 211 flock SRC, 1; 193 212 seek SRC, 0, 0; 194 213 195 open DEST, ">$dest_filename" or exit -106; 214 open DEST, ">$dest_filename" 215 or exit ( Schulkonsole::Error::Linbo::WRAPPER_CANNOT_OPEN_FILE 216 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE); 196 217 flock DEST, 2; 197 218 seek DEST, 0, 0; … … 232 253 my $regpatch = <>; 233 254 ($regpatch) = $regpatch =~ /^([^\/]+\.reg)$/; 234 exit -56 unless defined $regpatch; 255 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_FILENAME 256 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 257 unless defined $regpatch; 235 258 236 259 my $is_example = <>; 237 260 ($is_example) = $is_example =~ /^([01])$/; 238 exit -57 unless defined $is_example; 261 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_IS_EXAMPLE 262 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 263 unless defined $is_example; 239 264 240 265 my $image = <>; 241 266 ($image) = $image =~ /^([^\/]+\.(?:cloop|rsync))$/; 242 exit -58 unless defined $image; 267 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_IMAGE 268 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 269 unless defined $image; 243 270 244 271 my $src_filename = ($is_example ? … … 253 280 umask(022); 254 281 255 open SRC, "<$src_filename" or exit -106; 282 open SRC, "<$src_filename" 283 or exit ( Schulkonsole::Error::Linbo::WRAPPER_CANNOT_OPEN_FILE 284 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE); 256 285 flock SRC, 1; 257 286 seek SRC, 0, 0; 258 287 259 open DEST, ">$dest_filename" or exit -106; 288 open DEST, ">$dest_filename" 289 or exit ( Schulkonsole::Error::Linbo::WRAPPER_CANNOT_OPEN_FILE 290 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE); 260 291 flock DEST, 2; 261 292 seek DEST, 0, 0; … … 294 325 my $filename = <>; 295 326 ($filename) = $filename =~ /^([^\/]+\.(?:cloop|rsync)\.reg|pxegrub\.lst\.(?:[a-z\d_]+))$/; 296 exit -56 unless defined $filename; 327 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_FILENAME 328 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 329 unless defined $filename; 297 330 298 331 … … 333 366 my $action = <>; 334 367 ($action) = $action =~ /^([012])$/; 335 exit -59 unless defined $action; 368 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_ACTION 369 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 370 unless defined $action; 336 371 337 372 my $filename = <>; 338 373 my ($image, $image_suffix) = $filename =~ /^([^\/]+)\.(cloop|rsync)$/; 339 exit -58 unless defined $image; 374 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_IMAGE 375 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 376 unless defined $image; 340 377 341 378 my $file = "$Schulkonsole::Config::_linbo_dir/$image.$image_suffix"; … … 346 383 my $new_image = <>; 347 384 ($new_image) = $new_image =~ /^([^\/]+?)$/; 348 exit -58 unless defined $new_image; 349 350 my $new_file = "$Schulkonsole::Config::_linbo_dir/$new_image.$image_suffix"; 385 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_IMAGE 386 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 387 unless defined $new_image; 388 389 my $new_file 390 = "$Schulkonsole::Config::_linbo_dir/$new_image.$image_suffix"; 351 391 if ($action == 1) { 352 392 foreach my $suffix (@suffixes) { … … 388 428 my $filename = <>; 389 429 ($filename) = $filename =~ /^([^\/]+\.(?:cloop|rsync)\.(?:reg|desc)|pxegrub\.lst\.(?:[a-z\d_]+))$/; 390 exit -56 unless defined $filename; 430 exit ( Schulkonsole::Error::Linbo::WRAPPER_INVALID_FILENAME 431 - Schulkonsole::Error::Linbo::WRAPPER_ERROR_BASE) 432 unless defined $filename; 391 433 392 434 my $file = "$Schulkonsole::Config::_linbo_dir/$filename"; -
schulkonsole/linuxmuster-schulkonsole/trunk/src/util/wrapper-ovpn.pl.in
r249 r1238 30 30 use Schulkonsole::Config; 31 31 use Schulkonsole::DB; 32 use Schulkonsole::Error::OVPN; 32 33 33 34 … … 39 40 40 41 my $userdata = Schulkonsole::DB::verify_password_by_id($id, $password); 41 exit -32 unless $userdata; 42 exit ( Schulkonsole::Error::OVPN::WRAPPER_UNAUTHENTICATED_ID 43 - Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE) 44 unless $userdata; 42 45 43 46 my $app_id = <>; 44 47 ($app_id) = $app_id =~ /^(\d+)$/; 45 exit -33 46 unless defined $app_id && $Schulkonsole::Config::_root_apps[$app_id]; 48 exit ( Schulkonsole::Error::OVPN::WRAPPER_APP_ID_DOES_NOT_EXIST 49 - Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE) 50 unless defined $app_id; 51 52 my $app_name = $Schulkonsole::Config::_id_root_app_names{$app_id}; 53 exit ( Schulkonsole::Error::OVPN::WRAPPER_APP_ID_DOES_NOT_EXIST 54 - Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE) 55 unless defined $app_name; 47 56 48 57 … … 52 61 $$userdata{uidnumber}, $$userdata{gidnumber}, $$userdata{gid}); 53 62 54 my $ app;63 my $is_permission_found = 0; 55 64 foreach my $group (('ALL', keys %$groups)) { 56 foreach my $name (keys %{ $$permissions{$group} }) { 57 if ($Schulkonsole::Config::_root_app_name_ids{$name} == $app_id) { 58 $app = $Schulkonsole::Config::_root_apps[$app_id]; 59 last; 60 } 61 } 65 if ($$permissions{$group}{$app_name}) { 66 $is_permission_found = 1; 67 last; 68 } 62 69 } 63 exit -34 unless $app; 70 exit ( Schulkonsole::Error::OVPN::WRAPPER_UNAUTHORIZED_ID 71 - Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE) 72 unless $is_permission_found; 64 73 65 74 … … 109 118 my $ovpn_password = <>; 110 119 ($ovpn_password) = $ovpn_password =~ /^(.{6,})$/; 111 exit -97 unless $ovpn_password; 120 exit ( Schulkonsole::Error::OVPN::WRAPPER_INVALID_PASSWORD 121 - Schulkonsole::Error::OVPN::WRAPPER_ERROR_BASE) 122 unless $ovpn_password; 112 123 113 124 $opts .= '--create'; 114 125 115 open PIPE, "| $app $opts" or last SWITCH; 126 open PIPE, "| $Schulkonsole::Config::_cmd_ovpn_client_cert $opts" 127 or last SWITCH; 116 128 print PIPE "$ovpn_password\n"; 117 129 close PIPE; … … 128 140 129 141 130 exec "$ app$opts" or last SWITCH;142 exec "$Schulkonsole::Config::_cmd_ovpn_client_cert $opts" or last SWITCH; 131 143 }; 132 144 -
schulkonsole/linuxmuster-schulkonsole/trunk/src/util/wrapper-printer.pl.in
r239 r1238 28 28 use Schulkonsole::Config; 29 29 use Schulkonsole::DB; 30 use Schulkonsole::Error::Printer; 30 31 31 32 … … 37 38 38 39 my $userdata = Schulkonsole::DB::verify_password_by_id($id, $password); 39 exit -32 unless $userdata; 40 exit ( Schulkonsole::Error::Printer::WRAPPER_UNAUTHENTICATED_ID 41 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 42 unless $userdata; 40 43 41 44 my $app_id = <>; 42 45 ($app_id) = $app_id =~ /^(\d+)$/; 43 exit -33 44 unless defined $app_id && $Schulkonsole::Config::_root_apps[$app_id]; 46 exit ( Schulkonsole::Error::Printer::WRAPPER_APP_ID_DOES_NOT_EXIST 47 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 48 unless defined $app_id; 49 50 my $app_name = $Schulkonsole::Config::_id_root_app_names{$app_id}; 51 exit ( Schulkonsole::Error::Printer::WRAPPER_APP_ID_DOES_NOT_EXIST 52 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 53 unless defined $app_name; 45 54 46 55 … … 50 59 $$userdata{uidnumber}, $$userdata{gidnumber}, $$userdata{gid}); 51 60 52 my $ app;61 my $is_permission_found = 0; 53 62 foreach my $group (('ALL', keys %$groups)) { 54 foreach my $name (keys %{ $$permissions{$group} }) { 55 if ($Schulkonsole::Config::_root_app_name_ids{$name} == $app_id) { 56 $app = $Schulkonsole::Config::_root_apps[$app_id]; 57 last; 58 } 63 if ($$permissions{$group}{$app_name}) { 64 $is_permission_found = 1; 65 last; 59 66 } 60 67 } 61 exit -34 unless $app; 68 exit ( Schulkonsole::Error::Printer::WRAPPER_UNAUTHORIZED_ID 69 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 70 unless $is_permission_found; 62 71 63 72 … … 93 102 94 103 open PRINTERSCONF, "<$Schulkonsole::Config::_cups_printers_conf_file" 95 or exit -64; 104 or exit ( Schulkonsole::Error::Printer::WRAPPER_CANNOT_OPEN_PRINTERSCONF 105 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE); 96 106 97 107 my $printer; … … 132 142 133 143 ($printer) = $printer =~ /^(\S{0,127})$/; 134 exit -65 unless $printer; 144 exit ( Schulkonsole::Error::Printer::WRAPPER_INVALID_PRINTER_NAME 145 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 146 unless $printer; 135 147 136 148 push @printers, $printer 137 149 } 138 exit -66 unless @printers; 150 exit ( Schulkonsole::Error::Printer::WRAPPER_NO_PRINTERS 151 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 152 unless @printers; 139 153 140 154 if ($on) { 141 155 foreach my $printer (@printers) { 142 system "$ $app[0]\Q$printer";156 system "$Schulkonsole::Config::_cmd_printer_accept \Q$printer"; 143 157 } 144 158 } else { 145 159 foreach my $printer (@printers) { 146 system "$ $app[1]\Q$printer";160 system "$Schulkonsole::Config::_cmd_printer_reject \Q$printer"; 147 161 } 148 162 } … … 157 171 last if $printer =~ /^$/; 158 172 ($printer) = $printer =~ /^(\S{0,127})$/; 159 exit -65 unless $printer; 173 exit ( Schulkonsole::Error::Printer::WRAPPER_INVALID_PRINTER_NAME 174 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 175 unless $printer; 160 176 161 177 $printer_users{$printer} = []; … … 163 179 last if $user =~ /^$/; 164 180 ($user) = $user =~ /^(\S+)$/; 165 exit -67 unless $user; 181 exit ( Schulkonsole::Error::Printer::WRAPPER_INVALID_USER 182 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 183 unless $user; 166 184 167 185 push @{ $printer_users{$printer} }, "\Q$user"; 168 186 } 169 187 } 170 exit -66 unless %printer_users; 188 exit ( Schulkonsole::Error::Printer::WRAPPER_NO_PRINTERS 189 - Schulkonsole::Error::Printer::WRAPPER_ERROR_BASE) 190 unless %printer_users; 171 191 172 192 173 193 foreach my $printer (keys %printer_users) { 174 194 if ( @{ $printer_users{$printer} } ) { 175 system "$ app-p\Q$printer\E -u deny:"195 system "$Schulkonsole::Config::_cmd_printer_lpadmin -p\Q$printer\E -u deny:" 176 196 . join(',', @{ $printer_users{$printer} }); 177 197 } else { 178 system "$ app-p\Q$printer\E -u deny:none";198 system "$Schulkonsole::Config::_cmd_printer_lpadmin -p\Q$printer\E -u deny:none"; 179 199 } 180 200 } -
schulkonsole/linuxmuster-schulkonsole/trunk/src/util/wrapper-sophomorix.pl.in
r629 r1238 40 40 41 41 my $userdata = Schulkonsole::DB::verify_password_by_id($id, $password); 42 exit -32 unless $userdata; 42 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_UNAUTHENTICATED_ID 43 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 44 unless $userdata; 43 45 44 46 my $app_id = <>; 45 47 ($app_id) = $app_id =~ /^(\d+)$/; 46 exit -33 47 unless defined $app_id && $Schulkonsole::Config::_root_apps[$app_id]; 48 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_APP_ID_DOES_NOT_EXIST 49 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 50 unless defined $app_id; 51 52 my $app_name = $Schulkonsole::Config::_id_root_app_names{$app_id}; 53 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_APP_ID_DOES_NOT_EXIST 54 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 55 unless defined $app_name; 48 56 49 57 … … 53 61 $$userdata{uidnumber}, $$userdata{gidnumber}, $$userdata{gid}); 54 62 55 my $ app;63 my $is_permission_found = 0; 56 64 foreach my $group (('ALL', keys %$groups)) { 57 foreach my $name (keys %{ $$permissions{$group} }) { 58 if ($Schulkonsole::Config::_root_app_name_ids{$name} == $app_id) { 59 $app = $Schulkonsole::Config::_root_apps[$app_id]; 60 last; 61 } 65 if ($$permissions{$group}{$app_name}) { 66 $is_permission_found = 1; 67 last; 62 68 } 63 69 } 64 exit -34 unless $app; 70 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_UNAUTHORIZED_ID 71 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 72 unless $is_permission_found; 65 73 66 74 … … 89 97 last if $login_id =~ /^$/; 90 98 ($login_id) = $login_id =~ /^(\d+)$/; 91 exit -83 unless $login_id; 99 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USERID 100 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 101 unless $login_id; 92 102 93 103 push @login_ids, $login_id; 94 104 } 95 exit -84 unless @login_ids; 105 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERIDS 106 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 107 unless @login_ids; 96 108 97 109 my %share_states; … … 138 150 my $on = <>; 139 151 ($on) = $on =~ /^(\d+)$/; 140 exit -80 unless defined $on; 152 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_ON_UNDEFINED 153 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 154 unless defined $on; 141 155 142 156 … … 146 160 last if $user =~ /^$/; 147 161 ($user) = $user =~ /^(.+)$/; 148 exit -81 unless $user; 162 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 163 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 164 unless $user; 149 165 150 166 push @users, "\Q$user"; 151 167 } 152 exit -82 unless @users; 168 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 169 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 170 unless @users; 153 171 154 172 my $opts = "--teacher \Q$$userdata{uid}\E " … … 159 177 $< = $>; 160 178 $( = $); 161 exec "$ app$opts" or last SWITCH;179 exec "$Schulkonsole::Config::_cmd_sophomorix_teacher $opts" or last SWITCH; 162 180 }; 163 181 … … 183 201 my $do_copy = <>; 184 202 ($do_copy) = $do_copy =~ /^(\d+)$/; 185 exit -86 unless defined $do_copy; 203 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_COPY 204 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 205 unless defined $do_copy; 186 206 187 207 … … 198 218 my $type = <>; 199 219 ($type) = $type =~ /^(\d+)/; 200 exit -88 unless defined $type; 220 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_TYPE 221 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 222 unless defined $type; 201 223 202 224 LSHANDOUTTYPE: { … … 212 234 my $project = <>; 213 235 ($project) = $project =~ /^(.+)$/; 214 exit -90 unless $project; 236 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 237 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 238 unless $project; 215 239 $share_dir .= $project; 216 240 last LSHANDOUTTYPE; … … 219 243 my $class = <>; 220 244 ($class) = $class =~ /^(.+)$/; 221 exit -91 unless $class; 245 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 246 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 247 unless $class; 222 248 $share_dir .= $class; 223 249 last LSHANDOUTTYPE; … … 226 252 my $subclass = <>; 227 253 ($subclass) = $subclass =~ /^(.+)$/; 228 exit -92 unless $subclass; 254 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_SUBCLASS 255 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 256 unless $subclass; 229 257 $share_dir .= $subclass; 230 258 last LSHANDOUTTYPE; 231 259 }; 232 exit -87; 233 } 234 235 chdir $share_dir or exit -85; 260 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FROM 261 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 262 } 263 264 chdir $share_dir 265 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_SUCH_DIRECTORY 266 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 236 267 my @files = glob '*'; 237 268 my %files; … … 271 302 last if $login_id =~ /^$/; 272 303 ($login_id) = $login_id =~ /^(\d+)$/; 273 exit -83 unless $login_id; 304 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USERID 305 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 306 unless $login_id; 274 307 275 308 push @login_ids, $login_id; 276 309 } 277 exit -84 unless @login_ids; 310 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERIDS 311 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 312 unless @login_ids; 278 313 279 314 … … 357 392 my $do_copy = <>; 358 393 ($do_copy) = $do_copy =~ /^([01])$/; 359 exit -86 unless defined $do_copy; 394 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_COPY 395 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 396 unless defined $do_copy; 360 397 361 398 my $opts = "--teacher \Q$$userdata{uid}"; … … 363 400 my $from = <>; 364 401 ($from) = $from =~ /^([1248])$/; 365 exit -87 unless defined $from; 402 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FROM 403 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 404 unless defined $from; 366 405 367 406 FROMHANDOUT: { … … 373 412 my $project = <>; 374 413 ($project) = $project =~ /^(.+)$/; 375 exit -90 unless $project; 414 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 415 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 416 unless $project; 376 417 $opts .= " --fromproject \Q$project"; 377 418 last FROMHANDOUT; … … 380 421 my $class = <>; 381 422 ($class) = $class =~ /^(.+)$/; 382 exit -91 unless $class; 423 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 424 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 425 unless $class; 383 426 $opts .= " --fromclass \Q$class"; 384 427 last FROMHANDOUT; … … 391 434 last if $user =~ /^$/; 392 435 ($user) = $user =~ /^(.+)$/; 393 exit -81 unless $user; 436 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 437 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 438 unless $user; 394 439 395 440 push @users, "\Q$user"; 396 441 } 397 exit -82 unless @users; 442 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 443 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 444 unless @users; 398 445 399 446 $opts .= ' --users ' . join(',', @users); … … 402 449 my $type = <>; 403 450 ($type) = $type =~ /^(\d+)/; 404 exit -88 unless defined $type; 451 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_TYPE 452 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 453 unless defined $type; 405 454 406 455 … … 409 458 my $room = <>; 410 459 ($room) = $room =~ /^(.+)$/; 411 exit -89 unless $room; 460 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_ROOM 461 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 462 unless $room; 412 463 $opts .= " --room \Q$room"; 413 464 } … … 415 466 my $project = <>; 416 467 ($project) = $project =~ /^(.+)$/; 417 exit -90 unless $project; 468 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 469 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 470 unless $project; 418 471 $opts .= " --project \Q$project"; 419 472 } … … 421 474 my $class = <>; 422 475 ($class) = $class =~ /^(.+)$/; 423 exit -91 unless $class; 476 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 477 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 478 unless $class; 424 479 $opts .= " --class \Q$class"; 425 480 }; … … 427 482 my $subclass = <>; 428 483 ($subclass) = $subclass =~ /^(.+)$/; 429 exit -92 unless $subclass; 484 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_SUBCLASS 485 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 486 unless $subclass; 430 487 $opts .= " --subclass \Q$subclass"; 431 488 }; … … 439 496 $< = $>; 440 497 $( = $); 441 exec "$ app$opts" or last SWITCH;498 exec "$Schulkonsole::Config::_cmd_sophomorix_teacher $opts" or last SWITCH; 442 499 }; 443 500 … … 475 532 my $do_copy = <>; 476 533 ($do_copy) = $do_copy =~ /^([01])$/; 477 exit -86 unless defined $do_copy; 534 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_COPY 535 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 536 unless defined $do_copy; 478 537 479 538 my $is_exam = <>; 480 539 ($is_exam) = $is_exam =~ /^([01])$/; 481 exit -93 unless defined $is_exam; 540 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_IS_EXAM 541 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 542 unless defined $is_exam; 482 543 483 544 my $from = <>; 484 545 ($from) = $from =~ /^([01248])$/; 485 exit -87 unless defined $from; 546 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FROM 547 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 548 unless defined $from; 486 549 487 550 my $opts = "--teacher \Q$$userdata{uid}"; … … 497 560 my $project = <>; 498 561 ($project) = $project =~ /^(.+)$/; 499 exit -90 unless $project; 562 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 563 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 564 unless $project; 500 565 $opts .= " --fromproject \Q$project"; 501 566 last FROMCOLLECT; … … 504 569 my $class = <>; 505 570 ($class) = $class =~ /^(.+)$/; 506 exit -91 unless $class; 571 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 572 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 573 unless $class; 507 574 $opts .= " --fromclass \Q$class"; 508 575 last FROMCOLLECT; … … 515 582 last if $user =~ /^$/; 516 583 ($user) = $user =~ /^(.+)$/; 517 exit -81 unless $user; 584 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 585 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 586 unless $user; 518 587 519 588 push @users, "\Q$user"; 520 589 } 521 exit -82 unless @users; 590 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 591 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 592 unless @users; 522 593 523 594 $opts .= ' --users ' . join(',', @users); … … 525 596 my $type = <>; 526 597 ($type) = $type =~ /^(\d+)/; 527 exit -88 unless $type; 598 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_TYPE 599 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 600 unless $type; 528 601 529 602 … … 532 605 my $room = <>; 533 606 ($room) = $room =~ /^(.+)$/; 534 exit -89 unless $room; 607 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_ROOM 608 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 609 unless $room; 535 610 $opts .= " --room \Q$room"; 536 611 } … … 538 613 my $project = <>; 539 614 ($project) = $project =~ /^(.+)$/; 540 exit -90 unless $project; 615 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 616 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 617 unless $project; 541 618 $opts .= " --project \Q$project"; 542 619 } … … 544 621 my $class = <>; 545 622 ($class) = $class =~ /^(.+)$/; 546 exit -91 unless $class; 623 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 624 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 625 unless $class; 547 626 $opts .= " --class \Q$class"; 548 627 } … … 550 629 my $subclass = <>; 551 630 ($subclass) = $subclass =~ /^(.+)$/; 552 exit -92 unless $subclass; 631 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_SUBCLASS 632 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 633 unless $subclass; 553 634 $opts .= " --subclass \Q$subclass"; 554 635 } … … 562 643 $< = $>; 563 644 $( = $); 564 exec "$ app$opts" or last SWITCH;645 exec "$Schulkonsole::Config::_cmd_sophomorix_teacher $opts" or last SWITCH; 565 646 }; 566 647 … … 582 663 my $room = <>; 583 664 ($room) = $room =~ /^(.+)$/; 584 exit -89 unless $room; 665 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_ROOM 666 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 667 unless $room; 585 668 586 669 my $opts = "--reset-room \Q$room"; … … 589 672 $< = $>; 590 673 $( = $); 591 exec "$ app$opts" or last SWITCH;674 exec "$Schulkonsole::Config::_cmd_sophomorix_teacher $opts" or last SWITCH; 592 675 }; 593 676 … … 611 694 my $class_gid = <>; 612 695 ($class_gid) = $class_gid =~ /^(.+)$/; 613 exit -91 unless defined $class_gid; 696 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 697 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 698 unless defined $class_gid; 614 699 615 700 my $do_add = <>; 616 701 ($do_add) = $do_add =~ /^(\d+)$/; 617 exit -94 unless defined $do_add; 702 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_ADD 703 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 704 unless defined $do_add; 618 705 619 706 my $opts = "--teacher \Q$$userdata{uid}\E " … … 625 712 $( = $); 626 713 umask(022); 627 exec "$ app$opts" or last SWITCH;714 exec "$Schulkonsole::Config::_cmd_sophomorix_teacher $opts" or last SWITCH; 628 715 }; 629 716 … … 649 736 my $project_gid = <>; 650 737 ($project_gid) = $project_gid =~ /^((?:p_)?[a-z0-9_-]{3,14})$/; 651 exit -101 unless defined $project_gid; 738 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECTGID 739 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 740 unless defined $project_gid; 652 741 653 742 my $do_add = <>; 654 743 ($do_add) = $do_add =~ /^([01])$/; 655 exit -94 unless defined $do_add; 744 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_ADD 745 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 746 unless defined $do_add; 656 747 657 748 my $scope = <>; 658 749 ($scope) = $scope =~ /^([0123])$/; 659 exit -102 unless defined $scope; 750 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MEMBERSCOPE 751 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 752 unless defined $scope; 660 753 661 754 my @users; … … 663 756 last if $user =~ /^$/; 664 757 ($user) = $user =~ /^(.+)$/; 665 exit -81 unless $user; 758 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 759 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 760 unless $user; 666 761 667 762 push @users, "\Q$user"; 668 763 } 669 exit -82 unless @users; 764 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 765 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 766 unless @users; 670 767 671 768 my $opts = "--caller \Q$$userdata{uid}\E " … … 698 795 $( = $); 699 796 umask(022); 700 exec "$ app$opts" or last SWITCH;797 exec "$Schulkonsole::Config::_cmd_sophomorix_project $opts" or last SWITCH; 701 798 }; 702 799 … … 724 821 my $project_gid = <>; 725 822 ($project_gid) = $project_gid =~ /^((?:p_)?[a-z0-9_-]{3,14})$/; 726 exit -101 unless defined $project_gid; 823 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECTGID 824 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 825 unless defined $project_gid; 727 826 728 827 my $do_create = <>; 729 828 ($do_create) = $do_create =~ /^([01])$/; 730 exit -103 unless defined $do_create; 829 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DO_CREATE 830 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 831 unless defined $do_create; 731 832 732 833 … … 735 836 my $is_open = <>; 736 837 ($is_open) = $is_open =~ /^([01])$/; 737 exit -113 unless defined $is_open; 838 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_IS_JOIN 839 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 840 unless defined $is_open; 738 841 739 842 $opts .= '--create ' … … 749 852 $( = $); 750 853 umask(022); 751 exec "$ app$opts" or last SWITCH;854 exec "$Schulkonsole::Config::_cmd_sophomorix_project $opts" or last SWITCH; 752 855 }; 753 856 … … 775 878 my $class_gid = <>; 776 879 ($class_gid) = $class_gid =~ /^(.+)$/; 777 exit -91 unless defined $class_gid; 880 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 881 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 882 unless defined $class_gid; 778 883 779 884 my $filetype = <>; 780 885 ($filetype) = $filetype =~ /^([01])$/; 781 exit -95 unless defined $filetype; 886 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILE_TYPE 887 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 888 unless defined $filetype; 782 889 783 890 my $opts = "--class \Q$class_gid\E --postfix \Q$$userdata{uid}"; … … 786 893 $< = $>; 787 894 $( = $); 788 system("$app $opts >/dev/null 2>/dev/null") == 0 or exit ($? >> 8); 895 system("$Schulkonsole::Config::_cmd_sophomorix_print $opts >/dev/null 2>/dev/null") == 0 896 or exit ($? >> 8); 789 897 790 898 my $filename; … … 798 906 last SWITCHFILETYPE; 799 907 }; 800 exit -95; 908 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILE_TYPE 909 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 801 910 } 802 911 803 open DATA, "<$filename" or (print STDERR "$filename: $!\n" and exit -106); 912 open DATA, "<$filename" 913 or ( print STDERR "$filename: $!\n" 914 and exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 915 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE)); 804 916 { 805 917 local $/ = undef; … … 832 944 my $filetype = <>; 833 945 ($filetype) = $filetype =~ /^([01])$/; 834 exit -95 unless defined $filetype; 946 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILE_TYPE 947 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 948 unless defined $filetype; 835 949 836 950 my $opts = "--teacher"; … … 839 953 $< = $>; 840 954 $( = $); 841 system("$app $opts >/dev/null 2>/dev/null ") == 0 or exit ($? >> 8); 955 system("$Schulkonsole::Config::_cmd_sophomorix_print $opts >/dev/null 2>/dev/null ") == 0 956 or exit ($? >> 8); 842 957 843 958 my $filename; … … 851 966 last SWITCHFILETYPE; 852 967 }; 853 exit -95; 968 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILE_TYPE 969 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 854 970 } 855 971 856 open DATA, "<$filename" or (print STDERR "$filename: $!\n" and exit -106); 972 open DATA, "<$filename" 973 or ( print STDERR "$filename: $!\n" 974 and exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 975 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE)); 857 976 { 858 977 local $/ = undef; … … 901 1020 my $type = <>; 902 1021 ($type) = $type =~ /^([012])$/; 903 exit -96 unless defined $type; 1022 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_SET_PASSWORD_TYPE 1023 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1024 unless defined $type; 904 1025 905 1026 my $scope = <>; 906 1027 ($scope) = $scope =~ /^([01])$/; 907 exit -102 unless defined $scope; 1028 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MEMBERSCOPE 1029 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1030 unless defined $scope; 908 1031 909 1032 … … 917 1040 my $password = <>; 918 1041 ($password) = $password =~ /^(.+)$/; 919 exit -97 unless $password; 1042 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PASSWORD 1043 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1044 unless $password; 920 1045 921 1046 $opts .= "--password \Q$password"; … … 932 1057 last if $user =~ /^$/; 933 1058 ($user) = $user =~ /^(.+)$/; 934 exit -81 unless $user; 1059 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 1060 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1061 unless $user; 935 1062 936 1063 push @users, "\Q$user"; 937 1064 } 938 exit -82 unless @users; 1065 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 1066 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1067 unless @users; 939 1068 940 1069 if ($scope == 0) { … … 947 1076 $< = $>; 948 1077 $( = $); 949 exec "$ app$opts" or last SWITCH;1078 exec "$Schulkonsole::Config::_cmd_sophomorix_passwd $opts" or last SWITCH; 950 1079 }; 951 1080 … … 972 1101 my $number = <>; 973 1102 ($number) = $number =~ /^([0-9]|1[01])$/; 974 exit -105 unless defined $number; 1103 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILENUMBER 1104 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1105 unless defined $number; 975 1106 976 1107 my $filename; … … 1033 1164 1034 1165 1035 open FILE, "<$filename" or exit -106; 1166 open FILE, "<$filename" 1167 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 1168 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1036 1169 while (<FILE>) { 1037 1170 print; … … 1066 1199 my $number = <>; 1067 1200 ($number) = $number =~ /^([0123456])$/; 1068 exit -105 unless defined $number; 1201 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILENUMBER 1202 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1203 unless defined $number; 1069 1204 1070 1205 my $path; … … 1144 1279 if (not rename $full_filename, "$backup_path/$filename$suffix") { 1145 1280 system("mv \Q$full_filename\E \Q$backup_path/$filename$suffix") 1146 == 0 or exit -107; 1281 == 0 1282 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_PROCESS_RUNNING 1283 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1147 1284 } 1148 1285 } else { … … 1151 1288 } 1152 1289 1153 open FILE, ">$full_filename" or exit -106; 1290 open FILE, ">$full_filename" 1291 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 1292 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1154 1293 while (<>) { 1155 1294 print FILE; … … 1174 1313 $) = 0; 1175 1314 $( = $); 1176 exec "$app"or last SWITCH;1315 exec $Schulkonsole::Config::_cmd_sophomorix_check or last SWITCH; 1177 1316 }; 1178 1317 … … 1196 1335 1197 1336 my $action; 1337 my $cmd; 1198 1338 ACTIONNAME: { 1199 1339 $app_id == Schulkonsole::Config::USERSADDAPP and do { 1200 1340 $action = 'add'; 1341 $cmd = $Schulkonsole::Config::_cmd_sophomorix_add; 1201 1342 last ACTIONNAME; 1202 1343 }; 1203 1344 $app_id == Schulkonsole::Config::USERSMOVEAPP and do { 1204 1345 $action = 'move'; 1346 $cmd = $Schulkonsole::Config::_cmd_sophomorix_move; 1205 1347 last ACTIONNAME; 1206 1348 }; 1207 1349 $app_id == Schulkonsole::Config::USERSKILLAPP and do { 1208 1350 $action = 'kill'; 1351 $cmd = $Schulkonsole::Config::_cmd_sophomorix_kill; 1209 1352 last ACTIONNAME; 1210 1353 }; … … 1213 1356 1214 1357 my $lockfile = Schulkonsole::Config::lockfile("user$action"); 1215 open LOCK, "+>>$lockfile" or exit -106; 1358 open LOCK, "+>>$lockfile" 1359 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 1360 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1216 1361 if (not flock(LOCK, 4 | 2)) { 1217 exit -107; 1362 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_PROCESS_RUNNING 1363 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1218 1364 } else { 1219 1365 use Proc::ProcessTable; 1220 1366 1221 1367 my $process_table = new Proc::ProcessTable; 1222 my $app_cmnd = $ app;1368 my $app_cmnd = $cmd; 1223 1369 $app_cmnd =~ s:.*/::; 1224 1370 foreach my $process (@{ $process_table->table }) { … … 1226 1372 and $process->fname =~ /^sophomor/ 1227 1373 and $process->cmndline =~ /$app_cmnd/) { 1228 exit -107; 1374 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_PROCESS_RUNNING 1375 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1229 1376 } 1230 1377 } … … 1243 1390 1244 1391 my $pid = fork; 1245 exit -44 unless defined $pid; 1392 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_FORK 1393 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1394 unless defined $pid; 1246 1395 1247 1396 if (not $pid) { … … 1256 1405 $ENV{PATH} = '/bin:/sbin:/usr/sbin:/usr/bin'; 1257 1406 $ENV{DEBIAN_FRONTEND} = 'teletype'; 1258 exec "$app"or last SWITCH;1407 exec $cmd or last SWITCH; 1259 1408 } else { 1260 1409 seek LOCK, 0, 0; … … 1274 1423 1275 1424 $app_id == Schulkonsole::Config::USERSADDMOVEKILLAPP and do { 1276 1277 1425 my $action = 'addmovekill'; 1278 1426 1279 1427 my $addmovekill_lockfile = Schulkonsole::Config::lockfile("user$action"); 1280 open ALLLOCK, "+>>$addmovekill_lockfile" or exit -106; 1428 open ALLLOCK, "+>>$addmovekill_lockfile" 1429 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 1430 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1281 1431 if (not flock(ALLLOCK, 4 | 2)) { 1282 exit -107; 1432 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_PROCESS_RUNNING 1433 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1283 1434 } 1284 1435 1285 1436 1286 1437 my $pid = fork; 1287 exit -44 unless defined $pid; 1438 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_FORK 1439 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1440 unless defined $pid; 1288 1441 1289 1442 if (not $pid) { … … 1298 1451 1299 1452 my @action = ('add', 'move', 'kill'); 1453 my @cmds = ( 1454 $Schulkonsole::Config::_cmd_sophomorix_add, 1455 $Schulkonsole::Config::_cmd_sophomorix_move, 1456 $Schulkonsole::Config::_cmd_sophomorix_kill, 1457 ); 1300 1458 USERAPPS: for my $i (0..2) { 1301 1459 my $lockfile = Schulkonsole::Config::lockfile("user$action[$i]"); 1302 open LOCK, "+>>$lockfile" or exit -106; 1460 open LOCK, "+>>$lockfile" 1461 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 1462 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1303 1463 if (not flock(LOCK, 4 | 2)) { 1304 1464 next USERAPPS; … … 1307 1467 1308 1468 my $process_table = new Proc::ProcessTable; 1309 my $app_cmnd = $ $app[$i];1469 my $app_cmnd = $cmds[$i]; 1310 1470 $app_cmnd =~ s:.*/::; 1311 1471 foreach my $process (@{ $process_table->table }) { … … 1330 1490 open STDERR, ">>&STDOUT"; 1331 1491 1332 system "$$app[$i]";1492 system $cmds[$i]; 1333 1493 1334 1494 close LOCK; … … 1368 1528 my $mode = <>; 1369 1529 ($mode) = $mode =~ /^([012])$/; 1370 exit -108 unless defined $mode; 1530 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MODE 1531 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1532 unless defined $mode; 1371 1533 1372 1534 $< = $>; … … 1394 1556 1395 1557 my ($username, $id) = /^(.+)\t(.*)$/; 1396 exit -81 unless $username; 1558 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_USER 1559 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1560 unless $username; 1397 1561 1398 1562 if ($id) { … … 1402 1566 } 1403 1567 } 1404 exit -82 unless (@teachin_users or @ignore_users); 1568 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_NO_USERS 1569 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1570 unless (@teachin_users or @ignore_users); 1405 1571 1406 1572 while ( @ignore_users … … 1409 1575 $opts = '--all --ignore ' . quotemeta(join(',', @ignore_users[0..$end])); 1410 1576 1411 system "$ app$opts";1577 system "$Schulkonsole::Config::_cmd_sophomorix_teachin $opts"; 1412 1578 @ignore_users = @ignore_users[$end + 1..$#ignore_users]; 1413 1579 } … … 1417 1583 my $end = (@teachin_users < 20) ? @teachin_users : 20; 1418 1584 $opts = '--all --teachin ' . quotemeta(join(',', @teachin_users[0..$end])); 1419 system "$ app$opts";1585 system "$Schulkonsole::Config::_cmd_sophomorix_teachin $opts"; 1420 1586 @teachin_users = @teachin_users[$end + 1..$#teachin_users]; 1421 1587 } … … 1436 1602 } 1437 1603 1438 exec "$ app$opts" or last SWITCH;1604 exec "$Schulkonsole::Config::_cmd_sophomorix_teachin $opts" or last SWITCH; 1439 1605 }; 1440 1606 … … 1462 1628 my $number = <>; 1463 1629 ($number) = $number =~ /^([01])$/; 1464 exit -105 unless defined $number; 1630 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FILENUMBER 1631 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1632 unless defined $number; 1465 1633 1466 1634 my $on = <>; 1467 1635 ($on) = $on =~ /^([01])$/; 1468 exit -80 unless defined $on; 1636 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_ON_UNDEFINED 1637 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1638 unless defined $on; 1469 1639 1470 1640 my $filename; … … 1478 1648 } 1479 1649 1480 chmod $mode, $filename or exit -109; 1650 chmod $mode, $filename 1651 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CHMOD_FAILED 1652 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1481 1653 1482 1654 exit 0; … … 1508 1680 my $flags = <>; 1509 1681 ($flags) = $flags =~ /^(\d+)$/; 1510 exit -110 unless defined $flags || $flags > 17; 1682 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_FLAGS 1683 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1684 unless defined $flags || $flags > 17; 1511 1685 1512 1686 my $app_opts; … … 1515 1689 if ($flags == 16) { 1516 1690 ($gid) = $gid =~ /^(.+)$/; 1517 exit -91 unless $gid; 1691 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 1692 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1693 unless $gid; 1518 1694 } else { 1519 1695 ($gid) = $gid =~ /^((?:p_)?[a-z0-9_-]{3,14})$/; 1520 exit -101 unless defined $gid; 1696 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECTGID 1697 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1698 unless defined $gid; 1521 1699 } 1522 1700 1523 1701 my $diskquota = <>; 1524 1702 ($diskquota) = $diskquota =~ /^((?:\d+(?:\+\d+)*)?|quota)$/; 1525 exit -111 unless defined $diskquota; 1703 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DISKQUOTA 1704 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1705 unless defined $diskquota; 1526 1706 1527 1707 my $mailquota = <>; 1528 1708 ($mailquota) = $mailquota =~ /^(\d*|-1)$/; 1529 exit -112 unless defined $mailquota; 1530 1531 exit -111 unless length($diskquota) || length($mailquota); 1709 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_MAILQUOTA 1710 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1711 unless defined $mailquota; 1712 1713 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_DISKQUOTA 1714 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1715 unless length($diskquota) || length($mailquota); 1532 1716 1533 1717 1534 1718 if ($flags == 16) { 1535 $app_opts = "$$app[1] --class \Q$gid"; 1719 $app_opts 1720 = "$Schulkonsole::Config::_cmd_sophomorix_class --class \Q$gid"; 1536 1721 if (length($diskquota)) { 1537 1722 if ($diskquota eq 'quota') { … … 1545 1730 } 1546 1731 } else { 1547 $app_opts = $ $app[2]1732 $app_opts = $Schulkonsole::Config::_cmd_sophomorix_project 1548 1733 . " --caller \Q$$userdata{uid}\E --project \Q$gid"; 1549 1734 if (length($diskquota)) { … … 1559 1744 } 1560 1745 } else { 1561 $app_opts = "$ $app[0]";1746 $app_opts = "$Schulkonsole::Config::_cmd_sophomorix_quota "; 1562 1747 $app_opts .= '--set ' if $flags & 1; 1563 1748 $app_opts .= '--teachers ' if $flags & 2; … … 1567 1752 1568 1753 my $pid = fork; 1569 exit -44 unless defined $pid; 1754 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_FORK 1755 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1756 unless defined $pid; 1570 1757 1571 1758 if (not $pid) { … … 1589 1776 1590 1777 my $lockfile = Schulkonsole::Config::lockfile('processquota'); 1591 open LOCK, ">>$lockfile" or exit -106; 1778 open LOCK, ">>$lockfile" 1779 or exit ( Schulkonsole::Error::Sophomorix::WRAPPER_CANNOT_OPEN_FILE 1780 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE); 1592 1781 flock LOCK, 2; 1593 1782 truncate LOCK, 0; … … 1620 1809 my $password = <>; 1621 1810 ($password) = $password =~ /^(.+)$/; 1622 exit -97 unless $password; 1811 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PASSWORD 1812 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1813 unless $password; 1623 1814 1624 1815 my $opts = "--nofirstpassupdate --user \Q$$userdata{uid}\E --pass \Q$password"; … … 1627 1818 $< = $>; 1628 1819 $( = $); 1629 exec "$ app$opts" or last SWITCH;1820 exec "$Schulkonsole::Config::_cmd_sophomorix_passwd $opts" or last SWITCH; 1630 1821 }; 1631 1822 … … 1657 1848 1658 1849 my ($gid) = /^(.+)$/; 1659 exit -91 unless $gid; 1850 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 1851 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1852 unless $gid; 1660 1853 1661 1854 push @hides, $gid; … … 1665 1858 1666 1859 my ($gid) = /^(.+)$/; 1667 exit -91 unless $gid; 1860 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_CLASS 1861 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1862 unless $gid; 1668 1863 1669 1864 push @nohides, $gid; … … 1677 1872 my $opts = '--hide'; 1678 1873 foreach my $gid (@hides) { 1679 system("$app $opts --class \Q$gid\E") == 0 or exit ($? >> 8); 1874 system("$Schulkonsole::Config::_cmd_sophomorix_class $opts --class \Q$gid\E") == 0 1875 or exit ($? >> 8); 1680 1876 } 1681 1877 $opts = '--nohide'; 1682 1878 foreach my $gid (@nohides) { 1683 system("$app $opts --class \Q$gid\E") == 0 or exit ($? >> 8); 1879 system("$Schulkonsole::Config::_cmd_sophomorix_class $opts --class \Q$gid\E") == 0 1880 or exit ($? >> 8); 1684 1881 } 1685 1882 … … 1715 1912 1716 1913 my ($gid) = /^(.+)$/; 1717 exit -90 unless $gid; 1914 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 1915 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1916 unless $gid; 1718 1917 1719 1918 push @joins, $gid; … … 1723 1922 1724 1923 my ($gid) = /^(.+)$/; 1725 exit -90 unless $gid; 1924 exit ( Schulkonsole::Error::Sophomorix::WRAPPER_INVALID_PROJECT 1925 - Schulkonsole::Error::Sophomorix::WRAPPER_ERROR_BASE) 1926 unless $gid; 1726 1927 1727 1928 push @nojoins, $gid; … … 1735 1936 my $opts = "--caller \Q$$userdata{uid}\E --join"; 1736 1937 foreach my $gid (@joins) { 1737 system("$app $opts --project \Q$gid\E") == 0 or exit ($? >> 8); 1938 system("$Schulkonsole::Config::_cmd_sophomorix_project $opts --project \Q$gid\E") == 0 1939 or exit ($? >> 8); 1738 1940 } 1739 1941 $opts = "--caller \Q$$userdata{uid}\E --nojoin"; 1740 1942 foreach my $gid (@nojoins) { 1741 system("$app $opts --project \Q$gid\E") == 0 or exit ($? >> 8); 1943 system("$Schulkonsole::Config::_cmd_sophomorix_project $opts --project \Q$gid\E") == 0 1944 or exit ($? >> 8); 1742 1945 } 1743 1946
Note: See TracChangeset
for help on using the changeset viewer.
