boinc/lib
David Anderson 381e0caf14 Remote job submission: add support for per-job templates in submit requests
This supports the TACC use case,
in the jobs in a batch can use different Docker images
and different input and output file signatures,
none of which are known in advance.

Python API binding:
    - A JOB_DESC object can optionally contain wu_template and result_template
        elements, which are the templates (the actual XML) to use for that job.
        Add these to the XML request message if present.
    - Added the same capability to the PHP binding, but not C++.
    - Added and debugged test cases for both languages.

    Also, submit_batch() can take either a batch name (in which case
    the batch is created) or a batch ID
    (in which the batch was created prior to remotely staging files).

RPC handler:
    - in submit_batch(), check for jobs with templates specified
        and store them in files.
        For input templates (which are deleted after creating jobs)
        we put them in /tmp,
        and use a map so that if two templates are the same we use 1 file.
        For output templates (which have to last until all jobs are done)
        we put them in templates/tmp, with content-based filenames
        to economize.
    - When creating jobs, or generating SQL strings for multiple jobs,
        use these names as --wu_template_filename
        and --result_template_filename args to create_work
        (either cmdline args or stdin args)
    - Delete WU templates when done

create_work.cpp:
    handle per-job --wu_template and --result_template args in stdin job lines
    (the names of per-job WU and result templates).
    Maintain a map mapping WU template name to contents,
    to avoid repeatedly reading them.

    For jobs that don't specify templates, use the ones specified
    at the batch level, or the defaults.
2017-01-21 00:24:11 -08:00
..
mac Mac installer & uninstaller: replace all deprecated Mac APIs as of OS 10.12 2017-01-06 01:53:47 -08:00
Makefile.am remove dependency of coproc.h on str_replace.h 2016-08-26 12:31:54 -07:00
Makefile.mingw lib: Fixes for newer GCC versions when compiling md5.c. 2014-08-26 12:21:00 -04:00
app_ipc.cpp lib: Add missing declarations for Windows 2016-02-19 10:34:08 -05:00
app_ipc.h change some sprintf() to snprintf() in lib code 2016-02-17 22:53:37 -08:00
average.cpp
average.h
base64.cpp
base64.h VBOX: Take a screen shot on failure and dump the base64 encoded image to stderr. 2016-06-12 19:20:55 -07:00
boinc_fcgi.cpp
boinc_fcgi.h
boinc_win.cpp
boinc_win.h client: Let strlcat handle dealing with the buffer size and suppress the security warnings again. 2016-02-16 08:48:08 -05:00
cal_boinc.h
cc_config.cpp Add <no_opencl/> option in cc_config.xml 2016-04-23 20:47:31 -07:00
cc_config.h tweak, no functional change 2016-06-29 13:05:12 -07:00
cert_sig.cpp
cert_sig.h
cl_boinc.h lib: Add more OpenCL defines and HTTP references to the extension documentation 2015-12-18 23:46:08 -05:00
common_defs.h remove dependence of boinc_api.h on str_replace.h 2016-09-02 21:12:09 -07:00
coproc.cpp Client: add some comments to GPU code 2016-10-27 22:57:19 -07:00
coproc.h client: add ability to fake an OpenCL GPU 2016-10-25 11:06:43 -07:00
crypt.cpp Lib: fix indentation (whitespace changes only) 2016-07-18 16:25:31 +02:00
crypt.h Lib: build against openSSL 1.1.0 2016-06-27 18:32:07 +02:00
crypt_prog.cpp Tools: fix crypt_prog usage message 2016-08-26 10:22:00 +02:00
daemonmgt.h
daemonmgt_win.cpp
diagnostics.cpp remove compile warnings. Should have done this long ago! 2017-01-20 00:01:25 -08:00
diagnostics.h LIB: Explicitly declare a termination function for handling terminate()/unhandled()/abort() CRT calls. 2015-12-11 18:24:34 -05:00
diagnostics_win.cpp lib: Cleanup low hanging fruit with regards to cleaning up sprintf. 2016-02-17 18:50:28 -05:00
diagnostics_win.h More fixes for diagnostics cross compile. 2014-05-03 13:09:10 -07:00
error_numbers.h lib: check for fclose() error return in boinc_copy 2016-09-30 01:41:45 -07:00
filesys.cpp lib: fix bad logic in boinc_copy() 2016-10-03 00:57:16 -07:00
filesys.h client: fix problems w/ tempfile generation for async file operations 2016-07-17 00:15:09 -07:00
gui_rpc_client.cpp lib: Cleanup low hanging fruit with regards to cleaning up sprintf. 2016-02-17 18:50:28 -05:00
gui_rpc_client.h client: add option to use SOCKS5 for DNS 2017-01-05 21:34:34 -08:00
gui_rpc_client_ops.cpp client: add option to use SOCKS5 for DNS 2017-01-05 21:34:34 -08:00
gui_rpc_client_print.cpp boinccmd: add some items to app_version, result display 2016-10-23 00:38:58 -07:00
hostinfo.cpp client: fix typo 2017-01-12 13:57:31 -08:00
hostinfo.h client: get static host info items only on startup 2014-11-25 14:46:58 -08:00
idlemon.h
idlemon_win.cpp
md5.cpp lib: Remove test/dead code 2016-02-16 22:00:24 -05:00
md5.h
md5_file.cpp lib: Cleanup low hanging fruit with regards to cleaning up sprintf. 2016-02-17 18:50:28 -05:00
md5_file.h validator: fixes and features 2014-03-20 12:38:29 -07:00
md5_test.cpp
mem_usage.cpp
mem_usage.h
mfile.cpp LIB: Revert back the changes to mfile.cpp. 2016-02-16 10:04:24 -05:00
mfile.h
miofile.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
miofile.h
msg_log.cpp lib: fix Coverity warning 2016-02-20 10:16:35 -08:00
msg_log.h
msg_queue.cpp
msg_queue.h
msg_test.cpp
network.cpp Lib: tweak error messages 2016-05-02 11:20:00 +02:00
network.h vboxwrapper: add a general port-forwarding mechanism 2014-08-02 23:07:22 -07:00
notice.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
notice.h GUI RPC: include is_youtube_video flag in notice struct. 2014-06-10 14:04:40 -07:00
opencl_boinc.cpp client: add ability to fake an OpenCL GPU 2016-10-25 11:06:43 -07:00
opencl_boinc.h client: add ability to fake an OpenCL GPU 2016-10-25 11:06:43 -07:00
parse.cpp Remark about strong exception safety of strcatdup 2016-04-26 22:38:11 +02:00
parse.h server software: handle 64-bit database IDs 2015-07-23 10:11:08 -07:00
parse_test.cpp
prefs.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
prefs.h Adjusting the failure behaviour of xss_idle to report idle rather than busy, and send a message to the Event Log that X-based idle detection is disabled. Also changed how to handle the 'Always' definition conflict with X.h. 2015-12-18 09:56:24 -06:00
proc_control.cpp wrapper: let job.xml specify the process priorities of sub-tasks 2014-10-13 11:35:16 -07:00
proc_control.h wrapper: let job.xml specify the process priorities of sub-tasks 2014-10-13 11:35:16 -07:00
procinfo.cpp cppcheck: Prefer prefix ++/-- operators for non-primitive types 2015-01-14 21:18:29 +01:00
procinfo.h Lib: initialize fields in constructor 2015-11-04 08:35:49 +01:00
procinfo_mac.cpp lib, Mac: fix build error 2015-01-11 21:26:10 -08:00
procinfo_unix.cpp API: back out long long stuff; not needed 2014-06-09 12:31:50 -07:00
procinfo_win.cpp Cross compile fixes for mingw32. 2014-05-02 15:40:59 -07:00
project_init.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
project_init.h WCG: New feature 'cookieless installs' 2016-02-08 15:51:33 -05:00
proxy_info.cpp client: add option to use SOCKS5 for DNS 2017-01-05 21:34:34 -08:00
proxy_info.h client: add option to use SOCKS5 for DNS 2017-01-05 21:34:34 -08:00
remote_submit.cpp remote job submission: improve error handling. 2016-07-31 23:00:24 -07:00
remote_submit.h Condor GAHP: add extensions to input file names 2016-07-22 16:10:23 -07:00
run_app_windows.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 19:18:22 -05:00
run_app_windows.h client: Give boinc_master full control of any process spawned using the service token created by the client for boinc_project. 2013-11-14 23:26:06 -05:00
sched_msgs.cpp LIB: introduce new warning message level 2015-10-22 10:04:00 +02:00
sched_msgs.h Fix build break with gcc 6; from Nicolas and Gianfranco 2016-01-21 18:21:50 -08:00
shmem.cpp Android: Android's standalone toolchain now includes a 'sys/shm.h' header file but does not the old-style shared memory segments. 2016-06-19 16:08:33 -07:00
shmem.h
shmem_test.cpp
stackwalker_imports.h
stackwalker_win.cpp Fix Windows build by including needed headers. 2016-09-09 19:46:04 +03:00
stackwalker_win.h
std_fixes.h
str_replace.h remove dependence of boinc_api.h on str_replace.h 2016-09-02 21:12:09 -07:00
str_util.cpp lib: remove duplicate code 2017-01-05 14:01:06 -08:00
str_util.h lib: remove safe_copy(); not used, generated compile warnings on Win 2016-12-19 01:14:40 -08:00
submit_api.py Remote job submission: add support for per-job templates in submit requests 2017-01-21 00:24:11 -08:00
synch.cpp
synch.h
synch_test.cpp
translate.cpp Mac installer: Don't load more languages for a catalog if we've already loaded it for English 2013-08-16 21:48:18 -07:00
translate.h
unix_util.cpp cppcheck: Prefer prefix ++/-- operators for non-primitive types 2015-01-14 21:18:29 +01:00
unix_util.h
url.cpp lib: Cleanup low hanging fruit with regards to cleaning up sprintf. 2016-02-17 18:50:28 -05:00
url.h client: send LDAP credentials only over HTTPS 2014-10-28 14:06:49 -07:00
util.cpp Merge branch 'master' of github.com:BOINC/boinc 2016-09-11 19:57:24 -07:00
util.h Fix issue #1128 2015-09-28 20:36:18 +03:00
win_util.cpp Fix Windows build by including needed headers. 2016-09-09 19:46:04 +03:00
win_util.h LIB: Remove string type conversion naming conflict with the ATL framework. 2014-11-18 16:35:47 -05:00
x_util.cpp