summaryrefslogtreecommitdiff
path: root/libgpo/pygpo.c
Commit message (Collapse)AuthorAgeFilesLines
* gpupdate: Deprecate libgpo.get_gpo_listDavid Mulder2023-04-281-0/+5
| | | | | | | | | This is no longer used by gpupdate. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15225 Signed-off-by: David Mulder <dmulder@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* gpupdate: Implement get_gpo_list in pythonDavid Mulder2023-04-281-10/+176
| | | | | | | | | | The ADS code in libgpo is buggy. Rewrite get_gpo_list in python using SamDB. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15225 Signed-off-by: David Mulder <dmulder@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s3-librpc: add ads.idl and convert ads_struct to talloc.Günther Deschner2022-12-161-3/+3
| | | | | | | Guenther Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:libads: Allocate ads->auth.user_name under ADS_STRUCT talloc contextSamuel Cabrero2022-06-271-7/+12
| | | | | Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:libads: Allocate ads->auth.password under ADS_STRUCT talloc contextSamuel Cabrero2022-06-271-10/+21
| | | | | Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:libads: Allocate ads->auth.realm under ADS_STRUCT talloc contextSamuel Cabrero2022-06-271-7/+11
| | | | | Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3:libads: Allocate ADS_STRUCT under a talloc contextSamuel Cabrero2022-06-271-4/+7
| | | | | | | | The ads_destroy() function is now static and only called from the ADS_STRUCT destructor. Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* pygpo: Make ads_ADSType object inherit from pytalloc_BaseObjectSamuel Cabrero2022-06-271-2/+3
| | | | | | | Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* python: Ensure reference counts are properly incrementedJoseph Sutton2021-05-191-1/+1
| | | | | | Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
* gpo: Don't free talloc pointer held elsewhereDavid Mulder2021-03-081-1/+0
| | | | | | | | | | | | | Freeing this pointer produces the following error: ERROR: talloc_free with references at ../../libgpo/pygpo.c:481 reference at ../../pytalloc_util.c:164 reference at ../../pytalloc_util.c:164 Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Mar 8 19:08:07 UTC 2021 on sn-devel-184
* Fix clang 9 missing-field-initializer warningsGary Lockyer2020-05-081-4/+4
| | | | Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andreas Schneider <asn@samba.org>
* pygpo: use correct method flagsDouglas Bagnall2019-12-041-1/+1
| | | | | | | | | | | | | | The METH_KEYWORDS argument must always be combined with METH_VARARGS. In Python up to 3.7 this was checked at runtime, and as we had no callers to get_unix_path() in Python we never noticed. In Python 3.8 it is checked at import time, and everyone notices even if they aren't directly using GPOs. Found and reported by Val Kulkov. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14209 Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* s3:libnet: Require sealed LDAP SASL connections for joiningAndreas Schneider2019-10-091-1/+1
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* py3: Remove PyStr_FromString() compatability macroAndrew Bartlett2019-06-241-3/+3
| | | | | | | | We no longer need Samba to be py2/py3 compatible so we choose to return to the standard function names. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <noel.power@suse.com>
* squash 'cast between incompatible function types' warningNoel Power2019-05-161-4/+9
| | | | | | | | | | | | To avoid warning above produced by using -Wcast-function-type we; + ensure PyCFunctions of type METH_NOARGS defined dummy arg + ensure PyCFunctions of type METH_KEYWORDS use PY_DISCARD_FUNC_SIG macro Signed-off-by: Noel Power <noel.power@suse.com> Reviewed-by: Andreas Schneider <asn@samba.org>
* pygpo: take ownership of password pointerKristján Valur2019-03-071-3/+3
| | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org> Autobuild-User(master): Noel Power <npower@samba.org> Autobuild-Date(master): Thu Mar 7 15:08:19 UTC 2019 on sn-devel-144
* pygpo: Safer handling of memory for ads_ptr.Kristján Valur2019-03-071-27/+37
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* pygpo: Fix module initialization.Kristján Valur2019-03-071-16/+19
| | | | | | | | | | | | | * Add reference count to type. * Add error checking. * Remove unnecessary tp_new method. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* pygpo: keep a reference to python credentials in the ADS struct to keep the ↵Kristján Valur2019-03-071-5/+8
| | | | | | | | | internal pointer valid. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* pygpo: More python exception cleanup.Kristján Valur2019-03-071-52/+51
| | | | | | | | | | | | | | | * Don't override existing exceptions. * Careful with talloc contexts. * Return NULL on error. * Add more information to exception messages from internal functions. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* pygpo: Fix error handing when getting gpo unix path.Kristján Valur2019-03-071-6/+4
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* pygpo: Proper exception exit in py_ads_connect().Kristján Valur2019-03-071-17/+18
| | | | | | | | | connect() now succeeds or raises an exception. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* pygpo: Replace the use of SystemError with RuntimeError.Kristján Valur2019-03-071-12/+12
| | | | | | | | | SystemError is reserved for internal errors in the interpreter. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13822 Signed-off-by: Kristján Valur Jónsson <kristjan@rvx.is> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Noel Power <npower@samba.org>
* lib: Pass mem_ctx to cache_path()Volker Lendecke2018-08-171-1/+1
| | | | | | | | | | | Fix a confusing API: Many places TALLOC_FREE the path where it's not clear you have to do it. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Fri Aug 17 14:28:51 CEST 2018 on sn-devel-144
* pygpo: Fix a talloc_tos() leak in py_gpo_get_unix_pathVolker Lendecke2018-08-171-4/+3
| | | | | | | | | | | | | | cache_path() implicitly puts its result on talloc_tos(). As in py_gpo_get_unix_path the talloc_stackframe() is only created after the cache_path() call, we leak the result of cache_path() on talloc_tos() (which might or might not exist). This converts the function to the pattern used elsewhere: Create the stackframe as the very first action and remove it as the very last action in the function. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* python.gpo.ADS_STRUCT: check type of loadparm argumentDouglas Bagnall2018-05-031-1/+8
| | | | | | | And add a test showning the segfault. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* pygpo: Fix CID 1422263 Resource leakVolker Lendecke2018-04-041-2/+1
| | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* libgpo: port samba.gpo to python3David Mulder2018-03-231-9/+21
| | | | | | Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
* libgpo: Fix the build --without-adsVolker Lendecke2018-02-061-0/+5
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Tue Feb 6 15:36:01 CET 2018 on sn-devel-144
* libgpo: Remedy some longer linesGarming Sam2017-12-151-23/+41
| | | | | Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Jeremy Allison <jra@samba.org>
* libgpo: Tidy up some if statementsGarming Sam2017-12-151-16/+32
| | | | | Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Jeremy Allison <jra@samba.org>
* libgpo: typo credentaials -> credentialsGarming Sam2017-12-151-1/+1
| | | | | Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Jeremy Allison <jra@samba.org>
* libgpo: Always check for ldap_server argumentGarming Sam2017-12-151-1/+3
| | | | | Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Jeremy Allison <jra@samba.org>
* libgpo: Fix CID 1422263 Resource leakVolker Lendecke2017-11-221-0/+2
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Nov 22 02:03:17 CET 2017 on sn-devel-144
* libgpo: Fix CID 1422262 Explicit null dereferencedVolker Lendecke2017-11-211-1/+5
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* Fix formating of sources to be less than 80 linesGarming Sam2017-11-211-28/+58
| | | | | | | | | Signed-off-by: David Mulder <dmulder@suse.com> Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Garming Sam <garming@samba.org> Autobuild-Date(master): Tue Nov 21 01:51:59 CET 2017 on sn-devel-144
* python: Convert gop.GROUP_POLICY_OBJECT to pytallocAndrew Bartlett2017-11-201-82/+51
| | | | | | | | | | | | This avoids PyCapsule calls not available in Python 2.6 We remove the __init__ function as it is useless, the object is created by py_ads_get_gpo_list() which now returns a python list rather than an iterator. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* python: Remove talloc_stackframe() held in an objectAndrew Bartlett2017-11-201-11/+15
| | | | | | | | | | talloc_stackframe() must not be held after the return from a function. If this causes warnings (talloc_tos() use without a stackframe), this must be fixed in each function. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* libgpo: Setup the stack frame in ads_connectDavid Mulder2017-11-201-0/+9
| | | | | | Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* python: Remove Python 2.4 compat macroAndrew Bartlett2017-11-201-4/+0
| | | | | Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* python: Use py_check_dcerpc_type() to safely check for credentialsAndrew Bartlett2017-11-201-3/+14
| | | | | Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* pygpo: Check for errors in gpo.gpo_get_sysvol_gpt_version()Andrew Bartlett2017-11-201-1/+11
| | | | | Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* libgpo: Add libgpo python bindingsDavid Mulder2017-11-201-2/+387
| | | | | | | | Create libgpo python bindings for GROUP_POLICY_OBJECT, ADS_STRUCT, gpo_get_unix_path, ads_connect, and ads_get_gpo_list. Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* gpo: Add python libgpo bindingsLuke Morrison2017-11-201-0/+71
Split from "Initial commit for GPO work done by Luke Morrison" by David Mulder Signed-off-by: Garming Sam <garming@catalyst.net.nz> Signed-off-by: Luke Morrison <luke@hubtrek.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org>