chcon.c revision 8290d1083ec7eee3f32265012f5d6be2774c4afc
18290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley#include <unistd.h> 28290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley#include <stdio.h> 38290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley#include <stdlib.h> 48290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley#include <errno.h> 58290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley#include <selinux/selinux.h> 68290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley 78290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalleyint chcon_main(int argc, char **argv) 88290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley{ 98290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley int rc, i; 108290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley 118290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley if (argc < 3) { 128290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley fprintf(stderr, "usage: %s context path...\n", argv[0]); 138290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley exit(1); 148290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley } 158290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley 168290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley for (i = 2; i < argc; i++) { 178290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley rc = setfilecon(argv[i], argv[1]); 188290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley if (rc < 0) { 198290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley fprintf(stderr, "%s: Could not label %s with %s: %s\n", 208290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley argv[0], argv[i], argv[1], strerror(errno)); 218290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley exit(2); 228290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley } 238290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley } 248290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley exit(0); 258290d1083ec7eee3f32265012f5d6be2774c4afcStephen Smalley} 26