summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 55ba18f149f25c18a37225896d3c053ff2a1f6cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
2015-10-19  James Hunt  <jamesodhunt@ubuntu.com>

	* man/procenv.1: Replace hard-coded utf character with unicode
	  escape equivalent to suppress warning on Fedora.
	* src/tests/check_all_args.in: Replace heuristics to remove troff
	  escapes with a safer approach.
	* src/procenv.c: show_uname(): Fix incorrect check on domainname,
	  identified by Coverity.

2015-09-28  James Hunt  <jamesodhunt@ubuntu.com>

	* src/procenv.c:
	  - Correct output order for 'libc:' and 'misc:'.
	* src/procenv.h:
	  - Bump PROCENV_FORMAT_VERSION.
	* src/tests/check_all_args.in:
	  - Ensure output sections are sorted and not duplicated.

2015-09-27  James Hunt  <jamesodhunt@ubuntu.com>

	* src/Makefile.am:
	  - Pass path to man page to tests.
	* src/tests/check_all_args.in:
	  - Set LC_ALL to the lang value under test.
	  - Actually save the original LANG value.
	  - 'set -e' fix.
	  - Add test to compare options documented by 'procenv --help' with
	    those in the man page to ensure no discrepancies.

2015-09-25  James Hunt  <jamesodhunt@ubuntu.com>

	* src/procenv.c:
	  - show_libc(): New function for new '--libc'/'-B'
	    option.
	  - show_compiler(): Added following features:
	    - _DEFAULT_SOURCE
	    - _LARGEFILE_SUPPORT
	    - __STDC_VERSION__
	* configure.ac: Add '--enable-reproducible-build' option which
	  suppresses the display of values that will change between
	  builds:
	  - __DATE__
	  - __TIME__
	  - __TIMESTAMP__

2015-08-24  James Hunt  <james.hunt@ubuntu.com>

	* src/tests/check_all_args.in: Actually disable tests if non-existent
	  locale found.

2015-08-23  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: Coverity fixes:
	  - get_mtu(): Drop useless goto and explicit zero return on error.
	  - get_canonical(): safer string termination.
	  - Allow '--indent-char' to be UTF-8.
	* src/tests/check_all_args.in:
	  - New single-character tests for:
	    - '--indent-char'.
	    - '--separator'.
	  - New multi-character tests for:
	    - '--indent-char'.
	    - '--separator'.
	    - '--crumb-separator'.
	  - Check default locale is valid before attempting to use it.

2015-08-22  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.h: Use __func__ rather than __FUNCTION__ to appease gcc 5.2.

2015-08-21  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: save_locale(): Specify 2nd arg to setlocale()
	  as "" since the original NULL was not only incorrect, it caused
	  a UTF-8 '--separator' or '--crumb-separator' to cause a crash.
	* src/tests/check_all_args.in:
	  - New tests for UTF-8 '--separator' and '--crumb-separator'.
	  - Show language test being run with.
	  - Ensure full command-line shown on failure.

2015-07-11  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: show_security_module_context_linux():
	  Don't free @mode returned by aa_gettaskcon(2) since it forms
	  part of the allocation returned in @context.

2015-07-08  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - Update copyright.
	  - show_mounts_linux(): Don't truncate fsid.
	  - show_mounts_bsd(): Don't truncate fsid.

2014-09-19  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: show_security_module_linux(): check HAVE_APPARMOR,
	  not HAVE_SYS_APPARMOR_H to allow building on Ubuntu Lucid (which does
	  not provide aa_is_enabled()).

2014-09-18  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1:
	  - Bump date.
	  - Highlight non-display options.
	* src/procenv.c:
	  - show_capabilities_linux(): Added CAP_AUDIT_READ.
	  - main(): Allow '--exec' to come at the end of the command-line
	    (the only non-display option this is valid for).
	* src/procenv.h: die(): Output to stderr, not stdout.
	* src/tests/check_all_args.in:
	  - New test to ensure procenv can exec itself.
	  - Enable tests to ensure procenv detects illegal placement of
	    non-display options after any display option.
	  - Fixed check on unknown capabilities.
	  - Test to ensure a non-display option is disallowed after
	    a display option is now more comprehensive.
	  - src/tests/check_all_args.in: Ensure an empty environment is tolerated.

2014-08-19  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: Restore Coverity 0.0 defect density:
	  - translate(): Cleanup on error path.
	  - pstring_create(): Cleanup on error path.
	* src/tests/check_all_args.in: Warn if more capabilities found
	  than procenv is unaware of.

2014-08-14  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: More examples.
	* configure.ac: Add profiling for debug mode.

2014-07-04  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: Correct guard used around procenv_getcpu()
	  and split_fields().

2014-07-03  James Hunt  <james.hunt@ubuntu.com>

	* src/pr_list.c: 
	  - New functions:
	    - pr_list_append_str()
	    - pr_list_appendn_str()
	    - pr_list_prependn_str()
	* src/procenv.c: 
	  - procenv_getcpu(): A {RHEL,Centos} 5-pecific hack to fully
	    resolve LP: #1333194 by working around fact that glibc on that
	    platform does not provide sched_getcpu(3).

2014-06-26  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Updates.
	* src/procenv.c:
	  - More fixes for LP: #1333194:
	    - show_capabilities_linux(): Guard PR_CAPBSET_READ.
	    - cap_get_bound(): Guard PR_CAPBSET_READ.
	* src/procenv.h: Define CAP_LAST_CAP when using old versions of libcap.

2014-06-26  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_numa_memory():
	    - Fix for systems using old numa libraries (RHEL5). This should
	      really fix LP: #1333194.
	  - show_security_module():
	    - Corrected SELinux checking code.
	    - Added MLS detail.
	  - show_shared_mem_linux():
	    - Compiler appeasement.
	    - Added 'swap_attempts' and 'swap_successes' (apparently now unused,
	      but displayed for completeness).
	  - show_msg_queues_linux(): Compiler appeasement.
	* src/procenv.h:
	  - PROCENV_FORMAT_VERSION: Bumped to v8.
	  - Added PROCENV_NUMA_BITMASK_ISSET() macro to handle both old and new
	    libnuma API's.

2014-06-25  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - get_mtu(): Ensure unsigned long used for ioctl(2) request parameter
	    (caught by FreeBSD's "WARNING ioctl sign-extension ioctl" console
	    message).
	  - get_mac_address(): As above.
	  - show_uname(): Handle unset uts.domainname without an
	    assertion to cope on OpenSuSE 13.1 systems.

2014-06-24  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Add header checks for selinux and apparmor (LP: #1333182).
	* procenv.spec.in: Added 'libselinux-devel' to BuildRequires.
	* src/Makefile.am: Use $(top_builddir) and $(subdir) rather than
	  $(abs_builddir) since the RHEL5 / Centos 5 version of automake don't
	  define the latter.
	* src/procenv.c:
	  - Fix building on RHEL5 / Centos 5 by guarding undefined personality
	    symbols (LP: #1333194).
	  - Guard code based on CPU_ALLOC(3) availability.
	  - Guard capabilities, SELinux and AppArmor code.
	  - show_numa_memory(): Use entry() rather than show(), the latter of
	    which could have cause invalid formatted output if the NUMA policy
	    could not be queried.
	  - show_sizeof(): Add missing typedefs from stdint.h.
	* src/procenv.h: SELinux and capability guards.
	* src/tests/check_all_args.in:
	  - Don't die if JSON or XML checker are unavailable - just run
	    what tests are possible.
	  - Test using C locale and current (if different).

2014-06-09  James Hunt  <james.hunt@ubuntu.com>

	* procenv.spec.in: Fix for spec file on RHEL - thanks Dave Love
	  (LP: #1327594).

2014-06-07  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: sysconf and confstr cleanups.
	* src/procenv.h:
	  - Removed now unecessary macros.
	  - Bumped PROCENV_FORMAT_VERSION.

2014-06-04  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_pathconfs(): Guard all defines.
	  - show_confstrs(): Guard all defines.
	* src/procenv.h: Added _show_confstr() macro to allow name to be
	  specified.

2014-06-03  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - Guard extended interfaces flags (IFF_*) since as of
	    kernel 3.15 they have been removed (LP: #1324256).
	  - show_all_groups(): Fixed possible memory leak - thanks Coverity.
	  - show_uname(): Added asserts.
	* src/tests/check_all_args.in: Temporary work-around for lp:1325494.

2014-03-27  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Update.
	* src/procenv.c:
	  - get_arch(): Update for Sparc 64-bit (V9).
	  - show_capabilities_linux(): Move CAP_LAST_CAP out of the list and use
	    it as a count to avoid it being confused for an actual capability.

2014-03-20  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: Add reference to personality(2).
	* src/procenv.c: --misc: Add Linux personality type and flags.
	* src/procenv.h: Bump PROCENV_FORMAT_VERSION to 6 for format change.

2014-03-17  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: Add reference to libcap(3).
	* procenv.spec.in: Buid-depend on libcap-devel.
	* README: Update.

2014-03-14  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_mounts_linux(): Don't quote unknown canonical name.
	  - get_canonical(): Return value denoting if name was known.
	  - show_capabilities_linux():
	  - Use cap_get_bound() rather than prctl().
	  - Memory leak fix.
	* src/procenv.h: _show_capability(): 
	  - Use cap_get_bound() rather than prctl().
	  - Add "supported".

2014-03-13  James Hunt  <james.hunt@ubuntu.com>

	* NEWS: Corrected formatting.
	* TODO: Updates.
	* configure.ac: Link to libcap if available.
	* src/procenv.c:
	  - get_capability_by_flag(): New function to query a capability value
	    for a specified capability type.
	  - show_capabilities_linux():
	    - Make use of libcap calls.
	    - Add missing CAP_BLOCK_SUSPEND.
	    - Show "unknown" capabilities if detected (capabilities that the
	      running kernel supports which procenv doesn't know about).
	* src/procenv.h:
	  - PROCENV_FORMAT_VERSION: bumped to version 5 for capabilities output
	    format change.
	  - show_capability(): Now calls _show_capability().
	  - _show_capability(): Reworking of show_capability() macro that uses
	    libcap calls and works for unknowns too.

2014-01-31  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Build procenv.spec from .in file to auto-update
	  version number.
	* procenv.spec.in: Renamed from procenv.spec.
	* src/procenv.c: show_capabilities_bsd(): Fixes to allow
	  building on FreeBSD 9.

2014-01-27  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Check for FreeBSD Capsicum support.
	* man/procenv.1:
	  - --fds: Update for FreeBSD to mention Capsicum capabilities.
	  - --capabilities: Explain this option is for Linux capabilities only
	    (a different beast to Capsicum).
	  - SEE ALSO: Further references.
	  - Corrected BSD comment for --semaphores, --message-queues and
	    --shared-memory.
	* src/procenv.c:
	  - mntopt_map: Journaled Soft Updates fix for FreeBSD 8 and older.
	  - usage():
	    - Typo fix.
	  - show_fds_generic(): Added FreeBSD Capsicum capabilities for systems
	    which support it (FreeBSD 9+, assuming kernel is appropriately
	    configured).
	  - show_env(): Copy environ before sorting since modification is
	    disallowed.
	  - show_capabilities_bsd(): New function to query Capsicum capabilities.
	  - show_shared_mem_linux(): Fixed bug that incorrectly showed the
	    current process name rather than the last.
	* src/procenv.h:
	  - Bumped PROCENV_FORMAT_VERSION (format-version) to 3 for FreeBSD
	    capabilities.
	  - Capsicum macro.
	  - Replaced bool typedef with stdbool.h.

2014-01-23  James Hunt  <james.hunt@ubuntu.com>

	* procenv.spec: Added RPM specfile courtesy of Dave Love and
	  updated for 0.30 (LP: #1100967).
	* Makefile.am: Distribute spec file.

2014-01-22  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: show_cpu_affinities(): Initialise variable to
	  pacify clang on FreeBSD 10.

2014-01-14  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - get_tty_locked_status(): Assume unlocked if unable to query status
	    (for example on Sparc64 running 2.6.32-5 kernel).
	  - show_semaphores(): Calling semctl(SEM_INFO) without semun union was
	    causing subsequent call to semctl(SEM_STAT) to SIGSEGV on Sparc and
	    PPC architectures (Closes: #728684).

2014-01-13  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Check for numa.h.
	* src/procenv.c: Allow building on Linux systems whose
	  architectures are not NUMA-capable.

2014-01-10  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: Updated dates.
	* src/pr_list.c: Added header.
	* src/pr_list.h: Added header.
	* src/procenv.c:
	  - Update date.
	  - show_cpu_affinities(): Fix for FreeBSD which does
	    not provide dynamic cpu sets (CPU_ALLOC(3) et al).
	  - get_arch(): Added PPCspe and PPC64LE.
	* src/procenv.h: Added header.

2014-01-08  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_cpu_affinities(): Fix for hyper-threaded systems
	    (LP: #1251209) - thanks Dave Love.
	  - show_numa_memory(): Fix memory leak (calling free(3) rather than
	    numa_free_nodemask()).
	  - show_sizeof():
	    - Added lots of missing standard types (as documented in types.h(P)).
	    - Sorted list.
	  - show_cgroups_linux(): Fixed memory leak caused by misuse of
	    strsep(3).

2013-12-06  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: AM_INIT_AUTOMAKE: Ensure automake v1.13 is
	  passed 'serial-tests'.

2013-12-04  James Hunt  <james.hunt@ubuntu.com>

	* src/tests/check_all_args.in: Fix to sections regex to avoid
	  matching the TERMCAP variable (which contains various nasty
	  characters).

2013-12-03  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac:
	  - Put AC_COPYRIGHT onto one line for older automakes.
	  - Removed unused AC_TYPE_* checks.
	  - "Fix" to handle the automake 1.13 "serial-tests" fiasco
	     and always display test verbose test output.
	  - Conditionally use format-security compiler flag.
	* src/procenv.c: show_numa_memory(): Tell libnuma not to call exit(3). 
	* src/tests/check_all_args.in:
	  - Add debug handling.
	  - Use python rather than json_pp since the latter is not available
	    on older perl installations.

2013-12-02  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_mounts_linux(): Always initialise locals.
	  - show_compiler(): Guard __TIMESTAMP__ which isn't available
	    on old compilers.

2013-11-30  James Hunt  <james.hunt@ubuntu.com>

	* src/tests/check_all_args.in: Don't run XML tests if control
	  characters found in the environment (for example in $TERMCAP
	  when running under GNU Screen) since XMl validation will fail
	  (which is only partly reasonable given that such charactes
	  cannot be reliably encoded in XML anyway).

2013-11-29  Dave Love  <fx@gnu.org>

	* Fix for building on RHEL 5 (LP: #1256415).

2013-11-29  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - Use PROCENV_GNU_BSD rather than PROCENV_LINUX_BSD_KERNEL.
	  - Make use of generic stubs where appropriate.
	  - encode_string(): Handle non-printables for JSON and XML.
	    Note that they cannot be fully handled in XML as it disallows
	    encoding control characters so a validating parser will choke
	    on the output in that case.
	* src/tests/check_all_args.in:
	  - Explicit test for json_pp.
	  - Generate more details on error.
	  - Protect against silent failure when setting section.

2013-11-28  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - Use PROCENV_LINUX_BSD_KERNEL rather than raw define value for
	    kFreeBSD systems.
	  - Tweaks to hide NUMA from BSD systems.
	  - usage(): Added missing entry for --memory (as caught by new test).
	  - Made os-specific function names saner.
	  - Make Linux-specific functions still display a heading by using
	    stubs. This fixes the tests, makes the code slightly clearer
	    (hopefully not at the expense of the user).
	* src/procenv.h:
	  - Added PROCENV_LINUX_BSD_KERNEL for kFreeBSD systems.
	* src/tests/check_all_args.in:
	  - New test to ensure that all sections generated by default output
	    have a corresponding command-line option.

2013-11-27  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Check for libnuma.
	* man/procenv.1:
	  - Updated date.
	  - Add -Y/--memory.
	* src/procenv.c:
	  - show_misc(): Memory page size moved to show_memory().
	  - show_memory(): New function.
	  - dump():
	    - Added missing call to show_cpu().
	    - Added call to show_memory().
	  - show_numa_memory(): New function to display NUMA details (LP: #1251209).
	* src/procenv.h: Bumped PROCENV_FORMAT_VERSION.
	* src/tests/check_all_args.in:
	  - Check explicitly for xmlwf.
	  - Added test to ensure all options produce output in default output
	    mode too.

2013-11-22  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: show_cpu_affinities(): New function that displays basic
	  CPU affinity details.
	* man/procenv.1: Correct and add additional references for '--cpu'.

2013-11-13  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - Fixes for unimplemented FreeBSD output:
	    - show_shared_mem_bsd()
	    - show_semaphores_bsd()
	    - show_msg_queues_bsd()
	* src/tests/check_all_args.in:
	  - Use mktemp(1) instead of Debian/Ubuntu-specific tempfile(1).
	  - Remove rogue xmlwf call in '--format=text' test.
	  - Fix for the unhelpful xmlwf: unlike every other Unix utility, xmlwf
	    returns 0, even on failure (!) so we have to check if output is
	    produced...

2013-11-07  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: get_arch(): Added PPC64.

2013-11-01  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1:
	  - NOTES: Escape dash in indent-char.
	  - EXAMPLES: Fixed display of indent-char value.
	* src/procenv.c: get_arch(): Added missing "SuperH".

2013-10-30  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_signals(): Check return from get_signal_name() in case a
	    platform doesn't provide the signal in question.
	  - get_kernel_bits(): Return error value rather than calling die().
	  - show_bsd_mounts(): Removed unused variables.
	  - Added a few extra asserts to ensure section_open() is passed a valid
	    name.
	* src/procenv.h: Need to define 'semun' on Hurd too.

2013-10-25  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Stuff.
	* src/procenv.c: get_arch(): Fix for AARCH64 which seemingly isn't
	  considered to be "ARM" by gcc.

2013-10-15  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1:
	  - Fix for lintian bug: spelling-error-in-binary.
	* src/procenv.c:
	  - Fixes for lintian bugs: spelling-error-in-manpage,
	    hyphen-used-as-minus-sign.

2013-10-14  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Add '--debug' option.
	* man/procenv.1:
	  - General tidy-up.
	  - OPTIONS: Added '--crumb-separator'.
	  - EXAMPLES: Added a few more.
	  - LIMITATIONS: Updated.
	* src/pr_list.c: Undo erroneous "fix" to pr_list_append() and
	  pr_list_prepend().
	* src/procenv.c:
	  - Remove "(linux)" suffix from capabilities, cgroups and oom
	    output: they are not displayed on other platforms, so the
	    information is redundant.
	  - Added '--crumb-separator'.
	  - show_network_if(): Put flags in containeris rather than dumping as a
	    comma-separated list.

2013-10-13  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Update.
	* man/procenv.1: ENVIRONMENT VARIABLES:
	  - Added PROCENV_INDENT, PROCENV_INDENT_CHAR and PROCENV_SEPARATOR.
	* src/pr_list.c:
	  - Fix issue in pr_list_append() and pr_list_prepend().
	  - Added PR_LIST_FOREACH_STR() and PR_LIST_FOREACH_REV_STR() from
	    pr_list.h.
	  - pr_list_visitor_str(): New.
	* src/procenv.c:
	  - appendf(): Simplified and plugged a memory leak.
	  - appendva(): Simplified and plugged a memory leak.
	  - show_fds_linux(): Fixed memory leak.
	  - show_semaphores_linux(): Fixed memory leak.
	  - Comments.
	  - cleanup(): Check crumb_list before clearing it.
	  - check_envvars(): Added PROCENV_INDENT_ENV, PROCENV_INDENT_CHAR_ENV and
	    PROCENV_SEPARATOR_ENV.

2013-10-12  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Add ability to disable optimisation for debugging.
	* man/procenv.1:
	  - SYNOPSIS: Added '--format=crumb'
	  - ENVIRONMENT VARIABLES: Added 'PROCENV_FORMAT'.
	  - NOTES: More details.
	  - EXAMPLES: Two examples showing how to use '--format'.
	* src/Makefile.am:
	  - Remove hard-coded optimisation flag.
	  - Add pr_list.[ch] sources.
	* src/procenv.c:
	  - Added 'crumb' format and supporting functions.
	  - Removed horrid object-handling hacks since object_open()
	    and object_close() are now sensible.
	  - Added calls to object_open() and object_close() in various places
	    for json array handling.
	  - usage():
	    - Fixed '--messages-queues' and '--shared-memory' to add missing
	      intra-word dash.
	    - Updated notes.
	  - show_meta(): Use get_output_format_name() instead of hard-coded
	    list.
	  - show_stat(): Removed double header().
	  - check_env_vars(): Update to handle 'PROCENV_FORMAT'.
	* src/tests/check_all_args.in:
	  - Test both short and long options.
	  - Test 'crumb' format.

2013-10-03  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_proc(): Improved grouping by adding more sections.
	  - show_meta(): Show output format.
	  - show_compiler(): Add "feature test macros" section.

2013-10-02  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1:
	  - Added new options:
	    - -C/--cpu.
	    - --format.
	    - --indent.
	    - --indent-char.
	    - --separator.
	  - Removed bracketed partial option names since getopt_long(3) allows
	    any unique partially named option.
	* src/Makefile.am:
	  - Added check_all_args test.
	  - CFLAGS: Check for unused variables.
	* src/procenv.c:
	  - Added ability to produce output in either highly-structured text
	    (default), JSON, or XML using the --format=<format> option.

2013-09-13  James Hunt  <james.hunt@ubuntu.com>

	* src/tests/check_all_args.in: Added missing test.
	* src/procenv.c:
	  - usage():
	    - Clarify option usage.
	    - Ensure no wrapping on 80-column devices.
	  - show_rlimits():
	    - Enable RLIMIT_RTTIME on Linux.
	    - Check kernel version and defines for newer limits.
	* src/procenv.h: Cleanup.

2013-09-12  James Hunt  <james.hunt@ubuntu.com>

	* src/Makefile.am: Updated for new check_all_args test.
	* src/procenv.c:
	  - dump(): Ensure correct output ordering.
	  - Added "not implemented" stubs for FreeBSD IPC functions.
	* src/tests/show_compiler_details: Don't hard-code 'gcc' - use 'cc'
	  for maximum portability.

2013-09-11  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1:
	  - Added -E/--semaphores option.
	  - Added -M/--message-queues option.
	  - Added -S/--shared-memory option.
	  - Added ref to ipcs(1).
	* src/procenv.c:
	  - Added support for displaying IPC resources (shared memory,
	    semaphores and message queues) under Linux only at this
	    stage.
	  - New utility functions: format_time(), format_perms() and
	    pid_to_name().

2013-08-30  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_stat(): Make resilient to failures.
	  - show_linux_mounts(): Show if unable to query major+minor number.
	  - show_bsd_mounts(): Show if unable to query major+minor number.
	  - get_major_minor(): Return a value rather than simply warning on
	    error.

2013-08-28  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - show_network(): Handle bionics lack of getifaddrs().
	  - get_arch(): Don't identify MIPSEL as MIPS.

2013-08-23  James Hunt  <james.hunt@ubuntu.com>

	* TODO: 
	* man/procenv.1:
	  - Added -A/--arguments option.
	  - Updated --mount to include reference to statfs.
	  - Added -N/--network option.
	  - Updated SEE ALSO section.
	* src/procenv.c: 
	  - Added support for BSD/Hurd signals: SIGEMT, SIGINFO, SIGLOST.
	  - usage(): Use colon to separate output types from description for
	    consistency.
	  - is_console(): Enable for FreeBSD/kFreeBSD.
	  - append(): Allocate space if str points to NULL.
	  - appendf(): Allocate space if str points to NULL.
	  - appendva(): Allocate space if str points to NULL.
	  - dump():
	    - Call show_network().
	    - Call show_locale() *after* show_rlimits() for correct ordering.
	  - show_linux_mounts(): Add block and inode details (LP: #1212728).
	  - show_bsd_mounts(): Add block and inode details (LP: #1212728).
	  - show_compiler():
	    - Added __FILE__, __BASE_FILE__ and __TIMESTAMP__.
	  - main():
	    - Updates for -N/--network.
	  - New functions:
	    - show_arguments().
	    - get_network_address().
	    - decode_if_flags().
	    - get_ipv6_scope_name() (unused).
	    - get_mtu().
	    - get_mac_address().
	    - decode_extended_if_flags().
	    - get_net_family_name().
	    - show_network_if().
	    - show_network().

2013-07-19  James Hunt  <james.hunt@ubuntu.com>

	* src/man/procenv.1: Updated date and year.
	* src/procenv.c:
	  - show_bsd_proc_branch(): Fix to work in BSD jails: these entities are
	    bizarre in that they have no init process, and a processes parent
	    may actually be a process running *outside* of the jail... and as a
	    result, all you can know about it is its PID.
	  - Various hacks to work in the decidedly un-bionic Android
	    environment.
	* Android.mk: Makefile for Android.

2013-07-04  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: Add a new --exec example.

2013-06-28  James Hunt  <james.hunt@ubuntu.com>

	* configure.ac: Force old serial test behaviour (specifically
	  for automake-1.13 and above) to ensure test output is visible in
	  build logs.

2013-05-31  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - dump_misc(): Don't quote value if it's UNKNOWN_STR
	    (for easier parsing).
	  - show_stat(): Change "mode" to "permissions" since not only is the
	    latter more familiar to some, the tags should be as unique as
	    possible (and we have another "mode" for privileged execution).
	  - show_linux_mounts(): Display UNKNOWN_STR rather than aborting if
	    /proc not mounted.
	  - show_linux_proc_branch: As per show_linux_mounts().
	  - get_os(): Fixed regression where kFreeBSD was not being detected
	    (seemingly because __linux__ is no longer defined on such systems :-)
	  - get_arch(): Added missing detection for "SystemZ".
	  - show_linux_cgroups(): As per show_linux_mounts().
	  - dump_linux_proc_fds(): As per show_linux_mounts().
	  - show_oom(): As per show_linux_mounts().
	  - get_root(): As per show_linux_mounts().

2013-05-17  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: Added -P/--platform option.
	* src/procenv.c:
	  - usage(): Added -P/--platform option.
	  - dump_misc(): Move platforms bits to dump_platform().
	  - dump_platform(): New function:
	  - dump(): Call dump_platform().
	    - show executable bits.
	    - Call show_data_model().
	    - Call get_os() and get_arch().
	  - get_platform(): Removed.
	  - get_os(): New function.
	  - get_arch(): New function (includes support for x32).
	  - show_data_model(): New function.
	  - main(): Added -P/--platform option.

2013-04-07  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: show_tty_attrs():
	  - Clear lock status for all non-linux platforms.
	  - Update calls to show_const_tty() and show_cc_tty() passing
	    lock_status as a parameter.
	* src/procenv.h:
	  - show_cc_tty(): Pass lock status as a parameter. Comment header.
	  - show_const_tty(): Pass lock status as a parameter. Comment header.

2013-04-04  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - Changed __linux__ to PROCENV_LINUX.
	  - header(): Fix possible buffer overflow.
	  - dump_meta(): Added a "mode" value showing if running
	    privileged or non-privileged (the former showing potentially
	    more information).
	  - show_tty_attrs():
	    - Now shows individual locked tty attributes
	      when running in privileged mode.
	    - Added winsize attributes.
	  - get_tty_locked_status(): New function.
	* man/procenv.1: Update for --tty.

2013-03-27  James Hunt  <james.hunt@ubuntu.com>

	* Merge of lp:~mtmiller/procenv/portability-bug-fixes.

2013-01-10  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Updated.
	* src/procenv.c:
	  - locale_map: Protect LC_NAME for FreeBSD.
	  - show_env() and show_all_groups(): sort environment
	    using strcoll(3) rather than strcmp(3) to make output
	    locale-aware.

2012-12-15  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c: get_priorities(): Do not assert priorities
	  since they may be legitimate values. We could check errno,
	  but little point when only querying.

2012-12-10  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Updated with an idea from Dmitrijs Ledkovs.

2012-12-06  James Hunt  <james.hunt@ubuntu.com>

	* TODO: Updated with a couple of ideas.
	* man/procenv.1: Formatting of "SEE ALSO" section.
	* src/procenv.c: show_linux_prctl(): Handle all possible
	  return scenarios to avoid random output.
	  Thanks Dave Love (LP: #1086771).

	[ Dave Love <fx@gnu.org> ]
	* src/procenv.c:
	  - locale_map:
	    - Guard non-POSIX locale categories for portability.
	    - Remove LC_ALL.
	  - show_locale(): Special-case handling for LC_ALL.

	[ Mike Miller <mtmiller@ieee.org> ]
	* src/procenv.c:
	  - show_linux_security_module_context(): Check that Apparmor
	    and SELinux are enabled before querying contexts
	    (LP: #1086768).

2012-12-02  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - locale_map: Add LC_ADDRESS, LC_IDENTIFICATION,
	    LC_MEASUREMENT, LC_NAME, LC_PAPER and LC_TELEPHONE
	    (LP: #1081628).
	  - show_env(): Sort environment variables (LP: #1081629).
	  - show_locale(): Added LANG and LANGUAGE for parity with
	    locale(1).
	* man/procenv.1:
	  - Add ref to locale(7).
	  - Add ref to locale(1).

2012-11-29  James Hunt  <james.hunt@ubuntu.com>

	* General tidy-up (removing unused variables, etc).

	[ Dave Love <fx@gnu.org> ]
	* Makefile.am: Add man page to man1_MANS for RHEL package build.
	* src/procenv.c:
	  - show_locale(): Load locale from the environment prior to
	    querying, and revert at end.
	  - show_linux_cpu(): Guard sched_getcpu().
	* src/procenv.h: show_capability(): Make NOP if PR_CAPBSET_READ
	  not available.
	* configure.ac: Add sched_getcpu to list of AC_CHECK_FUNCS.

2012-11-28  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1: Update for --threads and set date.
	* src/procenv.c: get_platform(): Correction for detecting ARMHF.

2012-11-28  James Hunt  <james.hunt@ubuntu.com>
	
	* src/procenv.c:
	  - get_thread_scheduler_name(): Make visible to non-Linux platforms.
	  - get_platform(): Fix for Hurd.
	  - show_clocks(): Fix for Hurd.
	* src/procenv.h:
	  - Fix to gross Hurd hack.
	  - Make visible to non-Linux platforms.
	  - show_clock_res(): Make resilient to failure.
	
2012-11-26  James Hunt  <james.hunt@ubuntu.com>
	
	* TODO: Update.
	* configure.ac: Add pthread.
	* man/procenv.1: Formatting.
	* src/procenv.c:
	  - usage(): Added -T and --threads option.
	  - get_misc(): Minor Hurd tweak.
	  - get_user_info(): Added check around prctl.
	  - init(): Call gte_uname() as early as possible to allow
	    LINUX_KERNEL_*() macros to work.
	  - dump(): Add show_threads().
	  - show_capabilities(): Put kernel version guard around
	    PR_GET_KEEPCAPS.
	  - get_thread_scheduler_name(): New function.
	  - show_linux_scheduler(): Disallow failure.
	  - show_linux_cpu(): Disallow failure.
	  - show_threads(): New function.
	  - main():
	  - Added --threads option.
	  - Call get_uname() for '-i'.
	* src/procenv.h: Added pthread.h and minor tweak for Hurd.
	
2012-11-22  James Hunt  <james.hunt@ubuntu.com>
	
	* src/tests/show_compiler_details: New test to dump out useful info
	  as an aid to debugging build failures and for general interest.
	* src/Makefile.am: Call show_compiler_details test before running
	  main binary such that we can use the new tests output to diagnose
	  failures with the main binary.
	* src/procenv.h:
	  - Added explicit define for GNU/Hurd to ensure that platform defines
	    procenv_user.proc_name.
	
2012-11-21  James Hunt  <james.hunt@ubuntu.com>
	
	* TODO: Update.
	* src/procenv.c:
	  - dump_misc(): Added kernel headers version.
	  - linux_kernel_version():
	  - Rewrite as original logic was flawed - we now use the same
	    technique as KERNEL_VERSION()/LINUX_VERSION_CODE.
	  - Drop the @patch parameter: we're not using it and it is problematic
	    if it contains alphabetics.
	  - show_linux_prctl(): Don't allow prctl to fail, even for
	    environments, such as chroots, where the libc defines the symbols,
	    but the kernel outside the chroot does not implement the features.
	  - get_platform(): Added alpha and m68k.
	  - main(): Call get_user_info() if dumping misc details to ensure uname
	    values available.
	* src/procenv.h:
	  - Removed LINUX_KERNEL_MMRP() as unused.
	  - Removed pdie() macro now that we handle prctl failures gracefully.
	
2012-11-20  James Hunt  <james.hunt@ubuntu.com>
	
	* man/procenv.1:
	  - Added new locale options.
	  - Updated datestamp.
	* src/procenv.c:
	  - usage(): Added locale options.
	  - dump_misc():
	  - Now shows 'platform' and 'kernel bits' (moved from dump_meta()).
	  - Added 'endianness'.
	  - is_big_endian(): New function.
	  - show_stat(): Fixed 1 byte memory leak.
	  - dump(): Call show_locale().
	  - show_locale(): New function to dump locale details.
	  - get_platform():
	  - Added comment header.
	  - Added in ia64, sparc64, sparc, mips, armhf, armel, s390x, SuperH, Hurd.
	  - Changed 'Linux (Intel)' to 'Linux (i386)'.
	  - Return UNKNOWN_STR as last resort.
	  - show_capabilities(): Only query certain capabilities if they are
	    known to be theoretically available by comparing running kernel
	    version with kernel version specified in capabilities(7) that
	    introduced it.
	  - main(): Updated for new locale options.
	* src/procenv.h: show_capability():
	  - Added comment header.
	  - Now handles failure less brutally.
	
2012-11-19  James Hunt  <james.hunt@ubuntu.com>
	
	* man/procenv.1: Show calls made by '--proc' and '--misc'.
	* src/procenv.c:
	  - Various platform-specific fixes identified by recent Debian upload.
	  - Formatting.
	  - linux_kernel_version(): Replacement for inadequate KERNEL_VERSION() macro.
	  - New macros that make use of linux_kernel_version():
	  - LINUX_KERNEL_M()
	  - LINUX_KERNEL_MM()
	  - LINUX_KERNEL_MMR()
	  - LINUX_KERNEL_MMRP()
	  - Horrid hack for Hurd, which doesn't define PATH_MAX.

2012-11-16  James Hunt  <james.hunt@ubuntu.com>

	* man/procenv.1:
	  - Remove duplicate entry for --proc.
	  - Add references to system and library call man pages for each option.
	  - Add note that options are processed in order.
	  - Correct order of options in syslog example.
	  - Added rusage options.
	* TODO: Updated.
	* src/procenv.c:
	  - Added rusage.
	  - Moved show_capability() to header file.
	  - main(): Added missing 'u' to getopt_long() call.
	  - show_sizeof(): Added types uintmax_t, imaxdiv_t, rlim_t,
	fenv_t, fexcept_t.

2012-11-05  James Hunt  <james.hunt@ubuntu.com>

	* Split show_uname() into get_uname() and dump_uname().
	* init(): Call get_uname().
	* show_linux_prctl():
	  - Check for x86 before quering PR_GET_TSC.
	  - Check for kernel v3.5 before querying PR_GET_NO_NEW_PRIVS.
	  - Check for kernel v3.4 before querying PR_GET_CHILD_SUBREAPER.
	* New macros:
	  - PROCENV_ARCH_X86.
	  - KERNEL_VERSION().

2012-11-04  James Hunt  <james.hunt@ubuntu.com>

	* AUTHORS: Corrected email address.
	* man/procenv.1: Credit Kees in copyright and add in
	  standard "warranty".

2012-11-01  James Hunt  <james.hunt@ubuntu.com>

	* Hide show_oom() for non-Linux platforms.

2012-10-27  James Hunt  <james.hunt@ubuntu.com>

	* src/procenv.c:
	  - get_path(): New function to return path of specified program.
	  - show_stat(): Ensure we can resolve argv[0] to a full
	    path by using get_path().
	  - check_envvars(): Made strsep() usage safe.

2012-10-26  James Hunt  <james.hunt@ubuntu.com>

	* Set EXTRA_DIST to ensure man page
	  included in distribution.
	* man/procenv.1: Typos and hyphen fixes.

2012-10-25  James Hunt  <james.hunt@ubuntu.com>

	* Initial import.