The NetBSD Project

CVS log for src/common/include/prop/prop_array.h

[BACK] Up to [cvs.NetBSD.org] / src / common / include / prop

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat Jun 6 21:25:59 2020 UTC (4 years, 10 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, netbsd-10-base, netbsd-10-1-RELEASE, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, HEAD
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +104 -5 lines
Improvements to the problib(3) API:

==> Provide a much more complete set of setters and getters for different
    value types in the prop_array_util(3) and prop_dictionary_util(3)
    functions.

==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs
    to be easier to use and less awkwardly named,  Deprecate the old
    awkward names, and produce link-time warnings when they are referenced.

==> Deprecate mutable prop_data(3) and prop_string(3) objects.  The old
    APIs that support them still exist, but will now produce link-time
    warnings when used.

==> When the new prop_string(3) API is used, strings are internally
    de-duplicated as a memory footprint optimization.

==> Provide a rich set of bounds-checked gettter functions in and a
    corresponding set of convenience setters in the prop_number(3) API.

==> Add a new prop_bool_value(3) function that is equivalent to
    prop_bool_true(3), but aligned with the new "value" routines in
    prop_data(3), prop_string(3), and prop_number(3).

Revision 1.16.12.2: download - view: text, markup, annotated - select for diffs
Tue Apr 21 19:37:40 2020 UTC (5 years ago) by martin
Branches: phil-wifi
Diff to: previous 1.16.12.1: preferred, colored; branchpoint 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16.12.1: +0 -0 lines
Ooops, restore accidently removed files from merge mishap

Revision 1.16.12.1
Tue Apr 21 18:41:14 2020 UTC (5 years ago) by martin
Branches: phil-wifi
FILE REMOVED
Changes since revision 1.16: +1 -1 lines
Sync with HEAD

Revision 1.13.22.1: download - view: text, markup, annotated - select for diffs
Tue Oct 30 19:49:07 2018 UTC (6 years, 5 months ago) by martin
Branches: netbsd-7
Diff to: previous 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13: +6 -1 lines
Pull up following revision(s) (requested by sborrill in ticket #1645):

	common/include/prop/prop_dictionary.h: revision 1.16
	common/include/prop/prop_array.h: revision 1.15
	common/lib/libprop/prop_kern.c: revision 1.21
	common/lib/libprop/prop_copyin_ioctl.9: revision 1.12
	common/include/prop/prop_array.h: revision 1.16
	common/lib/libprop/prop_kern.c: revision 1.22 (patch)
	common/lib/libprop/prop_kern.c: revision 1.23 (patch)

add sized versions of the copyin ioctls.

 -

add sized versions of the copyin ioctls

 -

Update for the new *_size() functions recently added.  Mention the
implicit size limit (128KB) for the functions which do not take an
explicit limit argument.

 -

fix args

 -

missing brace

 -

call the proper size functions

Revision 1.14.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:50:42 2017 UTC (8 years ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14: +6 -1 lines
Sync with HEAD

Revision 1.14.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 20 06:51:38 2017 UTC (8 years, 1 month ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14: +6 -1 lines
Sync with HEAD

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Jan 29 02:07:44 2017 UTC (8 years, 2 months ago) by christos
Branches: MAIN
CVS tags: tls-maxphys-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-socketcan-base1, ad-namecache-base3, ad-namecache-base, ad-namecache
Branch point for: phil-wifi
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -2 lines
fix args

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sun Jan 29 00:16:19 2017 UTC (8 years, 2 months ago) by christos
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +5 -1 lines
add sized versions of the copyin ioctls.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Tue May 31 09:29:25 2016 UTC (8 years, 10 months ago) by pgoyette
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +3 -1 lines
Add prop_array_add_cstring{,_no_copy} utility functions as suggested in
PR lib/46723 using the patch provided.  (Header file updates are mine.)

Revision 1.13: download - view: text, markup, annotated - select for diffs
Fri Sep 30 22:08:18 2011 UTC (13 years, 6 months ago) by jym
Branches: MAIN
CVS tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, agc-symver-base, agc-symver
Branch point for: netbsd-7
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +5 -3 lines
Fix an implementation inconsistency with the prop_*_send_syscall() and
prop_*_recv_syscall() functions from proplib(3). They now share the
same logic as the one from prop_*_send_ioctl() functions:
- returns an int
- 0 indicates "no error", otherwise returns the error number (and
set errno)

Many consumers of the prop_*_{ioctl, syscall} expect errno to be set
on error and use err() to display the error message. As such, ensures that
errno gets set before returning from these functions.

prop_*_send_syscall() functions returned a boolean, and now return an int.
Fix all call sites to use the new paradigm (only quota2 is affected in src).

As the prop_*_{send,recv}_syscall() API appeared in -current and is only
used by the recent quota2 code, I am not bumping the lib. The API change
only affects the prop_*_send_syscall() function (recv_syscall()s were
already used correctly), so ensure you are not mixing "old" -current
quota binaries with a new proplib(3) (or the other way around). This
change will be announced via a HEADS-UP and UPDATING.

Does not affect the kernel part of proplib.

Document the correct API in prop_array(3) and prop_dictionary(3).

Thanks to Francois Tigeot for noticing the API inconsistency and
reporting it on tech-kern@.

ok bouyer@.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Thu Mar 24 17:05:39 2011 UTC (14 years, 1 month ago) by bouyer
Branches: MAIN
CVS tags: cherry-xenmp-base, cherry-xenmp
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +3 -1 lines
Add a new libquota library, which contains some blocks to build and/or
parse quota plists; as well as a getfsquota() function to retrieve quotas
for a single id from a single filesystem (whatever filesystem this is:
a local quota-enabled fs or NFS). This is build on functions getufsquota()
(for local filesystems with UFS-like quotas) and getnfsquota();
which are also available to userland programs.
move functions from quota2_subr.c to libquota or libprop as appropriate,
and ajust in-tree quota tools.
move some declarations from kernel headers to either sys/quota.h or
quota/quota.h as appropriate. ufs/ufs/quota.h still installed because
it's needed by other installed ufs headers.
ufs/ufs/quota1.h still installed as a quick&dirty way to get a code
using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of
ufs/ufs/quota.h - old code won't compile without this change and this is
on purpose).
Discussed on tech-kern@ and tech-net@ (long thread, but not much about
libquota itself ...)

Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Jan 20 11:17:58 2011 UTC (14 years, 3 months ago) by bouyer
Branches: MAIN
CVS tags: bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -2 lines
prop_*_copyout takes an object as second parameter, not a pointer to object.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Jan 19 20:34:23 2011 UTC (14 years, 3 months ago) by bouyer
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +5 -1 lines
- Implement prop_{array,dictionary}_copyout(), based on
  prop_{array,dictionary}_copyout_ioctl().
- Implement prop_{array,dictionary}_recv_syscall(), which
  takes as parameter the pref we got from kernel and internalize it,
  and unmaps the buffer prop_{array,dictionary}_copyout() mapped for us.
- add a prop_{array,dictionary}_send_syscall() for symetry, which is
  an alias to prop_{array,dictionary}_externalize_to_pref()

Discussed on tech-kern@ and tech-userlevel@

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sat Oct 10 21:26:16 2009 UTC (15 years, 6 months ago) by bad
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, rmind-uvmplock-base, matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +6 -4 lines
Commit changes to header files missed in my previous commit.

Implement prop_array_externalize_to_pref(), prop_array_copyin(),
prop_dictionary_externalize_to_pref() and prop_dictionary_copyin()
as discussed in the thread:
http://mail-index.netbsd.org/tech-kern/2009/07/29/msg005594.html

Add prototypes for prop_array_externalize_to_pref() and
prop_dictionary_externalize_to_pref().

Revision 1.6.2.2: download - view: text, markup, annotated - select for diffs
Wed Sep 24 16:30:24 2008 UTC (16 years, 7 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.6.2.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.2.1: +13 -1 lines
Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu Sep 11 13:15:13 2008 UTC (16 years, 7 months ago) by haad
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, wrstuden-revivesa-base-3, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +13 -1 lines
Add prop_array_add_int* and prop_array_add_uint* functions. These functions
can be used to append specified type to the end of prop_array_t.

Ok'ed by @joerg.

Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 23 04:26:44 2008 UTC (16 years, 10 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +58 -1 lines
Sync w/ -current. 34 merge conflicts to follow.

Revision 1.5.8.2: download - view: text, markup, annotated - select for diffs
Tue Jun 17 09:13:31 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.5.8.1: preferred, colored; branchpoint 1.5: preferred, colored; next MAIN 1.6: preferred, colored
Changes since revision 1.5.8.1: +58 -1 lines
sync with head.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Jun 3 20:18:24 2008 UTC (16 years, 10 months ago) by haad
Branches: MAIN
CVS tags: yamt-pf42-base4, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +58 -1 lines
Add prop_array_util functions to proplib. This code is copied/changed
prop_dictionary_util.

From manual page

The prop_array_util family of functions are provided to make getting and
setting values in arrays more convenient in some applications.

OK by mjf@ and freza@.

Revision 1.5.8.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:28:44 2008 UTC (16 years, 11 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +1 -8 lines
sync with head.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:22:51 2008 UTC (17 years ago) by martin
Branches: MAIN
CVS tags: yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +1 -8 lines
Remove clause 3 and 4 from TNF licenses

Revision 1.4.12.1: download - view: text, markup, annotated - select for diffs
Sun Sep 30 03:38:42 2007 UTC (17 years, 7 months ago) by wrstuden
Branches: wrstuden-fixsa
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +7 -7 lines
Catch up on netbsd-4 as of a few days ago.

Revision 1.4.4.1: download - view: text, markup, annotated - select for diffs
Thu Sep 27 16:16:29 2007 UTC (17 years, 7 months ago) by xtraeme
Branches: netbsd-4
CVS tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-1-RELEASE, netbsd-4-0
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +7 -7 lines
Pull up following revision(s) (requested by joerg in ticket #904):
	sbin/veriexecctl/veriexecctl.c: revision 1.29 (via patch)
	common/lib/libprop/prop_string.c: revision 1.9 (via patch)
	distrib/sets/lists/comp/mi: revision 1.1063 (via patch)
	common/lib/libprop/prop_kern.c: revision 1.8 (via patch)
	common/include/prop/prop_string.h: revision 1.2 (via patch)
	common/include/prop/prop_ingest.h: revision 1.2 (via patch)
	usr.sbin/btdevctl/btdevctl.c: revision 1.5 (via patch)
	common/lib/libprop/prop_object_impl.h: revision 1.14 (via patch)
	common/lib/libprop/prop_rb.c: revision 1.7 (via patch)
	common/include/prop/prop_array.h: revision 1.5 (via patch)
	common/lib/libprop/prop_stack.h: revision 1.1 (via patch)
	common/lib/libprop/prop_object_impl.h: revision 1.16 (via patch)
	common/lib/libprop/prop_number.3: revision 1.7 (via patch)
	common/lib/libprop/prop_stack.h: revision 1.2 (via patch)
	common/lib/libprop/prop_stack.c: revision 1.1 (via patch)
	common/lib/libprop/prop_object_impl.h: revision 1.17 (via patch)
	common/lib/libprop/prop_dictionary_util.c: revision 1.2 (via patch)
	common/lib/libprop/prop_dictionary_util.3: revision 1.2 (via patch)
	common/lib/libprop/prop_dictionary.c: revision 1.18 (via patch)
	common/lib/libprop/prop_stack.c: revision 1.2 (via patch)
	common/lib/libprop/prop_object_impl.h: revision 1.18 (via patch)
	common/lib/libprop/prop_dictionary.c: revision 1.19 (via patch)
	common/include/prop/prop_bool.h: revision 1.3 (via patch)
	common/include/prop/prop_dictionary.h: revision 1.7 (via patch)
	common/include/prop/prop_data.h: revision 1.2 (via patch)
	sys/sys/dkio.h: revision 1.14 (via patch)
	usr.sbin/btdevctl/sdp.c: revision 1.4 (via patch)
	common/include/prop/Makefile: revision 1.3 (via patch)
	common/include/prop/prop_number.h: revision 1.5 (via patch)
	common/lib/libprop/prop_object.c: revision 1.14 (via patch)
	common/lib/libprop/prop_object.c: revision 1.15 (via patch)
	common/lib/libprop/prop_object.c: revision 1.16 (via patch)
	common/lib/libprop/prop_bool.3: revision 1.3 (via patch)
	common/lib/libprop/prop_data.3: revision 1.4 (via patch)
	common/lib/libprop/prop_object.3: revision 1.6 (via patch)
	common/lib/libprop/prop_data.c: revision 1.7 (via patch)
	common/lib/libprop/prop_data.c: revision 1.8 (via patch)
	common/lib/libprop/prop_data.c: revision 1.9 (via patch)
	common/lib/libprop/prop_dictionary.c: revision 1.20 (via patch)
	usr.sbin/btdevctl/print.c: revision 1.9 (via patch)
	sbin/veriexecctl/veriexecctl_parse.y: revision 1.22 (via patch)
	common/lib/libprop/prop_number.c: revision 1.12 (via patch)
	common/include/prop/proplib.h: revision 1.5 (via patch)
	common/lib/libprop/prop_number.c: revision 1.13 (via patch)
	common/lib/libprop/prop_number.c: revision 1.14 (via patch)
	common/include/prop/prop_object.h: revision 1.5 (via patch)
	common/lib/libprop/prop_array.3: revision 1.5 (via patch)
	common/include/prop/prop_object.h: revision 1.6 (via patch)
	common/lib/libprop/prop_string.3: revision 1.4 (via patch)
	common/lib/libprop/prop_bool.c: revision 1.10 (via patch)
	common/lib/libprop/Makefile.inc: revision 1.6 (via patch)
	common/lib/libprop/prop_ingest.c: revision 1.2 (via patch)
	common/lib/libprop/prop_bool.c: revision 1.11 (via patch)
	common/lib/libprop/prop_array.c: revision 1.10 (via patch)
	common/lib/libprop/prop_ingest.3: revision 1.3 (via patch)
	common/lib/libprop/prop_bool.c: revision 1.12 (via patch)
	common/lib/libprop/prop_array.c: revision 1.11 (via patch)
	common/lib/libprop/prop_string.c: revision 1.7 (via patch)
	common/lib/libprop/prop_dictionary.3: revision 1.8 (via patch)
	common/lib/libprop/prop_array.c: revision 1.9 (via patch)
	usr.sbin/btdevctl/db.c: revision 1.4 (via patch)
	common/lib/libprop/prop_string.c: revision 1.8 (via patch)
	common/include/prop/plistref.h: revision 1.1 (via patch)
Consider '\r' to be white space. Discussed with and also kept as local
change by freza. With this change, DOS style line endings work.

boolean_t -> bool
TRUE -> true
FALSE -> false

libprop is currently using a recursive parser. While this is fine for
userland, deeply nested arrays and dictionaries can easily overflow
the kernel stack and thereby force a panic.

Fix the internalizer and prop_object_release to use a separate call
stack and alter the dictionary and array handling to not recurse on
the C stack. The default stack has an inline depth of 16 elements,
which should keep the overhead reasonable.

This issue was found by Pavel Cahyna and Jachym Holecek.

Additionally add a limit for prop_object_copyin_ioctl to prevent user
programs from temporary allocating unbound amount of kernel memory.

Allow malloc to fail so that tight loops of userland processes can't
force panics by exhausting the kernel map.

Tested with the sample exploit of Jachym, his test suite and reviewed
by himself (initial patch), Christos Zoulas and Jason Thorpe.
struct plistref does not reference other proplib data types, so split it
in its own header file to be included by dkio.h. Fixes breakage due to
pollution from proplib.h in programs which include ioctl.h. Tested and OK
by dogcow@.

Attempt at fixing build failures after proplib was converted to bool:
FALSE -> false, TRUE -> true, boolean_t -> bool, int -> bool when
appropriate, include stdbool.h . proplib.h no longer provides boolean_t,
so it is necessary to change to bool.
From Tom Spindler (dogcow@).

Avoid using unbound amount of stack frames in prop_object_equal
by using a dynamic stack as well. Reorder arguments for the internalizer
as the iteration is always present and should go before possibly
NULL arguments.
Reviewed by mjf@ and adrianp@

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Aug 16 16:28:17 2007 UTC (17 years, 8 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf
Branch point for: yamt-pf42
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +7 -7 lines
boolean_t -> bool
TRUE -> true
FALSE -> false

Revision 1.4.2.2: download - view: text, markup, annotated - select for diffs
Thu Oct 26 18:51:22 2006 UTC (18 years, 6 months ago) by thorpej
Branches: newlock2
Diff to: previous 1.4.2.1: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.2.1: +91 -0 lines
Add prop_array_t support to prop_kern.

Revision 1.4.2.1
Thu Oct 26 18:51:21 2006 UTC (18 years, 6 months ago) by thorpej
Branches: newlock2
FILE REMOVED
Changes since revision 1.4: +0 -91 lines
file prop_array.h was added on branch newlock2 on 2006-10-26 18:51:22 +0000

Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Oct 26 18:51:21 2006 UTC (18 years, 6 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-idlelwp-base8, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, newlock2-base, netbsd-4-base, netbsd-4-0-RC1, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: wrstuden-fixsa, newlock2, netbsd-4
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +16 -1 lines
Add prop_array_t support to prop_kern.

Revision 1.2.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 23 21:21:14 2006 UTC (18 years, 8 months ago) by tron
Branches: abandoned-netbsd-4
Diff to: previous 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2: +7 -1 lines
Pull up following revision(s) (requested by thorpej in ticket #43):
	common/include/prop/prop_ingest.h: revision 1.1
	common/lib/libprop/prop_number.c: revision 1.4
	common/include/prop/prop_array.h: revision 1.3
	common/lib/libprop/prop_object_impl.h: revision 1.4
	common/include/prop/prop_dictionary.h: revision 1.4
	distrib/sets/lists/comp/mi: revision 1.911
	common/include/prop/Makefile: revision 1.2
	common/lib/libprop/prop_bool.c: revision 1.4
	distrib/sets/lists/base/shl.mi: revision 1.365
	common/lib/libprop/prop_data.c: revision 1.3
	lib/libprop/shlib_version: revision 1.4
	lib/libprop/Makefile: revision 1.6
	common/lib/libprop/prop_object.c: revision 1.4
	common/lib/libprop/prop_object.3: revision 1.4
	common/include/prop/proplib.h: revision 1.3
	common/lib/libprop/Makefile.inc: revision 1.3
	common/include/prop/prop_object.h: revision 1.4
	common/lib/libprop/prop_array.c: revision 1.4
	common/lib/libprop/prop_array.3: revision 1.4
	common/lib/libprop/prop_string.c: revision 1.3
	common/lib/libprop/prop_dictionary.3: revision 1.4
	common/lib/libprop/prop_ingest.c: revision 1.1
	common/lib/libprop/prop_ingest.3: revision 1.1
	common/lib/libprop/prop_dictionary.c: revision 1.9
Several changes to proplib:
- Arrays can now be externalized and internalized in the same way
  dictionaries can.
- Add new "externalize to file" and "internalize from file" functions
  to make reading a property list from a file and writing a property
  list to a file more convenient.
- Many assertions in the object implementations are gone.  Instead,
  calling an accessor for one object type with a different object type
  as an argument will return a suitable "invalid" value.
- prop_object_type() now returns a new PROP_TYPE_UNKNOWN value if called
  with a NULL object.
- Externalized property lists now contain a reference to the Apple XML
  plist DTD.
- Add a new prop_ingest(3) facility, which provides a convenient way to
  translate a dictionary into an arbitrary binary representation.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Aug 21 04:13:28 2006 UTC (18 years, 8 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +7 -1 lines
Several changes to proplib:
- Arrays can now be externalized and internalized in the same way
  dictionaries can.
- Add new "externalize to file" and "internalize from file" functions
  to make reading a property list from a file and writing a property
  list to a file more convenient.
- Many assertions in the object implementations are gone.  Instead,
  calling an accessor for one object type with a different object type
  as an argument will return a suitable "invalid" value.
- prop_object_type() now returns a new PROP_TYPE_UNKNOWN value if called
  with a NULL object.
- Externalized property lists now contain a reference to the Apple XML
  plist DTD.
- Add a new prop_ingest(3) facility, which provides a convenient way to
  translate a dictionary into an arbitrary binary representation.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Thu May 18 03:05:19 2006 UTC (18 years, 11 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, abandoned-netbsd-4-base
Branch point for: abandoned-netbsd-4
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -1 lines
- Add prop_array_equals(), prop_dictionary_equals(), and
  prop_dictionary_keysym_equals(), and prop_object_equals() functions.
- Use realloc() where it makes sense.  There will be more changes in this
  area.
- Add a _prop_object_type structure that is used internally to keep
  information about the object types.  Decreases the footprint of the
  objects slightly by replacing several pointers with just one.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Thu Apr 27 20:11:27 2006 UTC (19 years ago) by thorpej
Branches: MAIN
Initial commit of proplib, a library for manipulating property lists and
converting to/from an XML external representation (based on Apple XML
property lists).  Works in the kernel and user space.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>